From bee4d30becc223c645a205b1636ebbf0f24fd70a Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 25 Apr 2019 07:53:48 +0200 Subject: [PATCH] cli: add RETURN_STR_TEMPORARY() macro to "clients/common/nm-meta-setting-desc.c" Will be used next. --- clients/common/nm-meta-setting-desc.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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) {