diff options
-rw-r--r-- | clients/common/nm-meta-setting-desc.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clients/common/nm-meta-setting-desc.c b/clients/common/nm-meta-setting-desc.c index e5759e5358..658e250bed 100644 --- a/clients/common/nm-meta-setting-desc.c +++ b/clients/common/nm-meta-setting-desc.c @@ -699,9 +699,21 @@ _SET_FCN_DO_REMOVE (char modifier, const char *value) #define RETURN_STR_TO_FREE(val) \ G_STMT_START { \ char *_val = (val); \ + \ return ((*(out_to_free)) = _val); \ } G_STMT_END +#define RETURN_STR_TEMPORARY(val) \ + G_STMT_START { \ + const char *_val = (val); \ + \ + if (_val == NULL) \ + return NULL; \ + if (_val[0] == '\0') \ + return ""; \ + return ((*(out_to_free)) = g_strdup (_val)); \ + } G_STMT_END + static gboolean _gobject_property_is_default (NMSetting *setting, const char *prop_name) { |