diff options
author | Thomas Haller <thaller@redhat.com> | 2022-09-26 16:30:25 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2022-10-06 13:43:33 +0200 |
commit | 0b6a9e2c887b89b578a530aaaafd8f440169a7a6 (patch) | |
tree | 2b6660d33d0497bcbf56d2ff9dca0a89242b363c | |
parent | a1adfccf8a8914e2826b7418dc10ec53545b196b (diff) |
glib-aux: add nm_ref_string_reset() helper
-rw-r--r-- | src/libnm-glib-aux/nm-ref-string.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libnm-glib-aux/nm-ref-string.h b/src/libnm-glib-aux/nm-ref-string.h index eb3c38de21..0cfea5fae3 100644 --- a/src/libnm-glib-aux/nm-ref-string.h +++ b/src/libnm-glib-aux/nm-ref-string.h @@ -93,6 +93,23 @@ nm_ref_string_unref(NMRefString *rstr) NM_AUTO_DEFINE_FCN_VOID(NMRefString *, _nm_auto_ref_string, nm_ref_string_unref); #define nm_auto_ref_string nm_auto(_nm_auto_ref_string) +static inline gboolean +nm_ref_string_reset(NMRefString **ptr, NMRefString *str) +{ + NMRefString *rstr; + + nm_assert(ptr); + + rstr = *ptr; + + if (rstr == str) + return FALSE; + + *ptr = nm_ref_string_ref(str); + nm_ref_string_unref(rstr); + return TRUE; +} + /*****************************************************************************/ static inline const char * |