]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
conf-parser: shorten config_parse_string() by using free_and_strdup() and empty_to_null()
authorLennart Poettering <lennart@poettering.net>
Mon, 7 May 2018 16:18:11 +0000 (18:18 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 17 May 2018 18:45:57 +0000 (20:45 +0200)
src/shared/conf-parser.c

index 7e5fba4330c53b9f8a897a60d3d42d6790d8221f..84d0c16996ed0a912a6b083ae74dcee223428dca 100644 (file)
@@ -708,7 +708,7 @@ int config_parse_string(
                 void *data,
                 void *userdata) {
 
-        char **s = data, *n;
+        char **s = data;
 
         assert(filename);
         assert(lvalue);
@@ -720,16 +720,8 @@ int config_parse_string(
                 return 0;
         }
 
-        if (isempty(rvalue))
-                n = NULL;
-        else {
-                n = strdup(rvalue);
-                if (!n)
-                        return log_oom();
-        }
-
-        free(*s);
-        *s = n;
+        if (free_and_strdup(s, empty_to_null(rvalue)) < 0)
+                return log_oom();
 
         return 0;
 }