chiark / gitweb /
sysctl: minor simplifications
authorLennart Poettering <lennart@poettering.net>
Fri, 24 Apr 2015 17:56:24 +0000 (19:56 +0200)
committerSven Eden <yamakuzure@gmx.net>
Tue, 14 Mar 2017 07:13:59 +0000 (08:13 +0100)
src/shared/sysctl-util.c

index 650c9c9..55f4e48 100644 (file)
@@ -58,31 +58,23 @@ char *sysctl_normalize(char *s) {
 }
 
 int sysctl_write(const char *property, const char *value) {
-        _cleanup_free_ char *p = NULL;
-        char *n;
-
-        log_debug("Setting '%s' to '%s'", property, value);
+        char *p;
 
-        p = new(char, strlen("/proc/sys/") + strlen(property) + 1);
-        if (!p)
-                return log_oom();
+        assert(property);
+        assert(value);
 
-        n = stpcpy(p, "/proc/sys/");
-        strcpy(n, property);
+        log_debug("Setting '%s' to '%s'", property, value);
 
+        p = strjoina("/proc/sys/", property);
         return write_string_file(p, value);
 }
 
 int sysctl_read(const char *property, char **content) {
-        _cleanup_free_ char *p = NULL;
-        char *n;
-
-        p = new(char, strlen("/proc/sys/") + strlen(property) + 1);
-        if (!p)
-                return log_oom();
+        char *p;
 
-        n = stpcpy(p, "/proc/sys/");
-        strcpy(n, property);
+        assert(property);
+        assert(content);
 
+        p = strjoina("/proc/sys/", property);
         return read_full_file(p, content, NULL);
 }