summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clients/common/nm-meta-setting-desc.c12
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)
{