mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-06 15:30:14 +01:00
shared: add nm_utils_strdup_reset_take() helper
This commit is contained in:
parent
ac626c6892
commit
c4d981959e
1 changed files with 19 additions and 0 deletions
|
|
@ -2204,6 +2204,25 @@ nm_utils_strdup_reset(char **dst, const char *src)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline gboolean
|
||||||
|
nm_utils_strdup_reset_take(char **dst, char *src)
|
||||||
|
{
|
||||||
|
char *old;
|
||||||
|
|
||||||
|
nm_assert(dst);
|
||||||
|
nm_assert(src != *dst);
|
||||||
|
|
||||||
|
if (nm_streq0(*dst, src)) {
|
||||||
|
if (src)
|
||||||
|
g_free(src);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
old = *dst;
|
||||||
|
*dst = src;
|
||||||
|
g_free(old);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
void nm_indirect_g_free(gpointer arg);
|
void nm_indirect_g_free(gpointer arg);
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue