chiark / gitweb /
unit: rework resource management API
[elogind.git] / src / shared / path-lookup.c
index fa4995ceea835d2632534980f509e3242c9ae491..ffdc5367cb79bf6f416f6950eedc75ebaff31d62 100644 (file)
@@ -41,21 +41,26 @@ DEFINE_STRING_TABLE_LOOKUP(systemd_running_as, SystemdRunningAs);
 
 int user_config_home(char **config_home) {
         const char *e;
+        char *r;
 
         e = getenv("XDG_CONFIG_HOME");
         if (e) {
-                if (asprintf(config_home, "%s/systemd/user", e) < 0)
+                r = strappend(e, "/systemd/user");
+                if (!r)
                         return -ENOMEM;
 
+                *config_home = r;
                 return 1;
         } else {
                 const char *home;
 
                 home = getenv("HOME");
                 if (home) {
-                        if (asprintf(config_home, "%s/.config/systemd/user", home) < 0)
+                        r = strappend(home, "/.config/systemd/user");
+                        if (!r)
                                 return -ENOMEM;
 
+                        *config_home = r;
                         return 1;
                 }
         }