]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
shared/dropin: minor modernization
authorMike Yuan <me@yhndnzj.com>
Mon, 13 May 2024 08:48:32 +0000 (16:48 +0800)
committerLuca Boccassi <bluca@debian.org>
Tue, 11 Jun 2024 22:17:21 +0000 (23:17 +0100)
src/shared/dropin.c
src/shared/dropin.h

index 9a786d0603905b137245c3a17d9a22a7942b0c7f..c3050634bd32c3348d9c757bfead72ba6cf6f4ad 100644 (file)
 #include "strv.h"
 #include "unit-name.h"
 
-int drop_in_file(const char *dir, const char *unit, unsigned level,
-                 const char *name, char **ret_p, char **ret_q) {
+int drop_in_file(
+                const char *dir,
+                const char *unit,
+                unsigned level,
+                const char *name,
+                char **ret_unit_dir,
+                char **ret_path) {
 
         char prefix[DECIMAL_STR_MAX(unsigned) + 1] = {};
-        _cleanup_free_ char *b = NULL, *p = NULL, *q = NULL;
+        _cleanup_free_ char *n = NULL, *unit_dir = NULL, *path = NULL;
 
+        assert(dir);
         assert(unit);
         assert(name);
-        assert(ret_p);
-        assert(ret_q);
-
-        if (level != UINT_MAX)
-                xsprintf(prefix, "%u-", level);
+        assert(ret_unit_dir);
+        assert(ret_path);
 
-        b = xescape(name, "/.");
-        if (!b)
+        n = xescape(name, "/.");
+        if (!n)
                 return -ENOMEM;
-
-        if (!filename_is_valid(b))
+        if (!filename_is_valid(n))
                 return -EINVAL;
 
-        p = strjoin(dir, "/", unit, ".d");
-        q = strjoin(p, "/", prefix, b, ".conf");
-        if (!p || !q)
+        if (level != UINT_MAX)
+                xsprintf(prefix, "%u-", level);
+
+        unit_dir = path_join(dir, strjoina(unit, ".d"));
+        path = strjoin(unit_dir, "/", prefix, n, ".conf");
+        if (!unit_dir || !path)
                 return -ENOMEM;
 
-        *ret_p = TAKE_PTR(p);
-        *ret_q = TAKE_PTR(q);
+        *ret_unit_dir = TAKE_PTR(unit_dir);
+        *ret_path = TAKE_PTR(path);
         return 0;
 }
 
-int write_drop_in(const char *dir, const char *unit, unsigned level,
-                  const char *name, const char *data) {
+int write_drop_in(
+                const char *dir,
+                const char *unit,
+                unsigned level,
+                const char *name,
+                const char *data) {
 
         _cleanup_free_ char *p = NULL, *q = NULL;
         int r;
@@ -73,9 +82,14 @@ int write_drop_in(const char *dir, const char *unit, unsigned level,
         return write_string_file_atomic_label(q, data);
 }
 
-int write_drop_in_format(const char *dir, const char *unit, unsigned level,
-                         const char *name, const char *format, ...) {
-        _cleanup_free_ char *p = NULL;
+int write_drop_in_format(
+                const char *dir,
+                const char *unit,
+                unsigned level,
+                const char *name,
+                const char *format, ...) {
+
+        _cleanup_free_ char *content = NULL;
         va_list ap;
         int r;
 
@@ -85,13 +99,13 @@ int write_drop_in_format(const char *dir, const char *unit, unsigned level,
         assert(format);
 
         va_start(ap, format);
-        r = vasprintf(&p, format, ap);
+        r = vasprintf(&content, format, ap);
         va_end(ap);
 
         if (r < 0)
                 return -ENOMEM;
 
-        return write_drop_in(dir, unit, level, name, p);
+        return write_drop_in(dir, unit, level, name, content);
 }
 
 static int unit_file_add_dir(
index 54cceaff1aca3d249905357583fe6f7934cb3355..8107944de91ed0c0c4c1b507974c16529bafa9a4 100644 (file)
@@ -6,14 +6,26 @@
 #include "set.h"
 #include "unit-name.h"
 
-int drop_in_file(const char *dir, const char *unit, unsigned level,
-                 const char *name, char **_p, char **_q);
-
-int write_drop_in(const char *dir, const char *unit, unsigned level,
-                  const char *name, const char *data);
+int drop_in_file(
+                const char *dir,
+                const char *unit,
+                unsigned level,
+                const char *name,
+                char **ret_unit_dir,
+                char **ret_path);
 
-int write_drop_in_format(const char *dir, const char *unit, unsigned level,
-                         const char *name, const char *format, ...) _printf_(5, 6);
+int write_drop_in(
+                const char *dir,
+                const char *unit,
+                unsigned level,
+                const char *name,
+                const char *data);
+int write_drop_in_format(
+                const char *dir,
+                const char *unit,
+                unsigned level,
+                const char *name,
+                const char *format, ...) _printf_(5, 6);
 
 int unit_file_find_dropin_paths(
                 const char *original_root,