]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tree-wide: get rid of strappend()
authorLennart Poettering <lennart@poettering.net>
Thu, 11 Jul 2019 17:14:16 +0000 (19:14 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 12 Jul 2019 05:31:12 +0000 (14:31 +0900)
It's a special case of strjoin(), so no need to keep both. In particular
as typing strjoin() is even shoert than strappend().

68 files changed:
src/activate/activate.c
src/basic/btrfs-util.c
src/basic/cgroup-util.c
src/basic/env-util.c
src/basic/io-util.c
src/basic/memfd-util.c
src/basic/string-util.c
src/basic/string-util.h
src/basic/strv.c
src/basic/unit-def.c
src/basic/unit-name.c
src/binfmt/binfmt.c
src/core/execute.c
src/core/manager.c
src/core/mount-setup.c
src/core/service.c
src/core/timer.c
src/coredump/coredump.c
src/cryptsetup/cryptsetup-generator.c
src/debug-generator/debug-generator.c
src/gpt-auto-generator/gpt-auto-generator.c
src/hostname/hostnamed.c
src/import/pull-job.c
src/journal/journalctl.c
src/journal/journald-kmsg.c
src/journal/journald-server.c
src/journal/journald-stream.c
src/journal/test-journal-flush.c
src/libsystemd/sd-bus/bus-error.c
src/libsystemd/sd-login/sd-login.c
src/libsystemd/sd-path/sd-path.c
src/locale/keymap-util.c
src/login/logind-acl.c
src/login/logind-dbus.c
src/login/logind-inhibit.c
src/login/logind-seat-dbus.c
src/login/logind-seat.c
src/login/logind-session-dbus.c
src/login/logind-session.c
src/login/sysfs-show.c
src/machine/image-dbus.c
src/machine/machine-dbus.c
src/machine/machine.c
src/notify/notify.c
src/nspawn/nspawn-network.c
src/nspawn/nspawn-settings.c
src/nspawn/nspawn.c
src/resolve/resolvectl.c
src/resolve/resolved-dns-answer.c
src/resolve/resolved-dns-dnssec.c
src/resolve/resolved-manager.c
src/shared/bus-unit-procs.c
src/shared/bus-unit-util.c
src/shared/bus-util.c
src/shared/cgroup-show.c
src/shared/install.c
src/shared/machine-image.c
src/shared/path-lookup.c
src/sysctl/sysctl.c
src/systemctl/systemctl.c
src/sysv-generator/sysv-generator.c
src/test/test-conf-files.c
src/test/test-copy.c
src/test/test-path-util.c
src/test/test-string-util.c
src/timedate/timedated.c
src/tmpfiles/tmpfiles.c
src/tty-ask-password-agent/tty-ask-password-agent.c

index 8bdf2e50aae43f1c71dc559e056e9ccf424cca77..15a3150666879dba70bcd4c9fe21b7a528d51d0e 100644 (file)
@@ -151,7 +151,7 @@ static int exec_process(const char *name, char **argv, char **env, int start_fd,
                         _cleanup_free_ char *p;
                         const char *n;
 
-                        p = strappend(*s, "=");
+                        p = strjoin(*s, "=");
                         if (!p)
                                 return log_oom();
 
@@ -226,7 +226,7 @@ static int exec_process(const char *name, char **argv, char **env, int start_fd,
                         if (!names)
                                 return log_oom();
 
-                        e = strappend("LISTEN_FDNAMES=", names);
+                        e = strjoin("LISTEN_FDNAMES=", names);
                         if (!e)
                                 return log_oom();
 
index 10ca893da016fb9430327ee489519f6a101fea49..1ee0110e2ff070efdf73cedf5c1fababab990ade 100644 (file)
@@ -1517,12 +1517,7 @@ static int subvol_snapshot_children(
                         if (ioctl(old_fd, BTRFS_IOC_INO_LOOKUP, &ino_args) < 0)
                                 return -errno;
 
-                        /* The kernel returns an empty name if the
-                         * subvolume is in the top-level directory,
-                         * and otherwise appends a slash, so that we
-                         * can just concatenate easily here, without
-                         * adding a slash. */
-                        c = strappend(ino_args.name, p);
+                        c = path_join(ino_args.name, p);
                         if (!c)
                                 return -ENOMEM;
 
index 446f63023b7e6f92c9be7158b28444b47965f165..7d610475a83a8b04b0b581f48b5d6338bf5db115 100644 (file)
@@ -1922,7 +1922,7 @@ char *cg_escape(const char *p) {
         }
 
         if (need_prefix)
-                return strappend("_", p);
+                return strjoin("_", p);
 
         return strdup(p);
 }
index b39b1ed0f8bd16e83ce71edf4da2a24659089468..a6503cf2b65175ff7e9da9fd746fefaeb363eebe 100644 (file)
@@ -567,7 +567,7 @@ char *replace_env_n(const char *format, size_t n, char **env, unsigned flags) {
 
                                 t = strv_env_get_n(env, word+2, e-word-2, flags);
 
-                                k = strappend(r, t);
+                                k = strjoin(r, t);
                                 if (!k)
                                         return NULL;
 
@@ -623,7 +623,7 @@ char *replace_env_n(const char *format, size_t n, char **env, unsigned flags) {
                                 else if (!t && state == DEFAULT_VALUE)
                                         t = v = replace_env_n(test_value, e-test_value, env, flags);
 
-                                k = strappend(r, t);
+                                k = strjoin(r, t);
                                 if (!k)
                                         return NULL;
 
@@ -642,7 +642,7 @@ char *replace_env_n(const char *format, size_t n, char **env, unsigned flags) {
 
                                 t = strv_env_get_n(env, word+1, e-word-1, flags);
 
-                                k = strappend(r, t);
+                                k = strjoin(r, t);
                                 if (!k)
                                         return NULL;
 
@@ -661,7 +661,7 @@ char *replace_env_n(const char *format, size_t n, char **env, unsigned flags) {
                 assert(flags & REPLACE_ENV_ALLOW_BRACELESS);
 
                 t = strv_env_get_n(env, word+1, e-word-1, flags);
-                return strappend(r, t);
+                return strjoin(r, t);
         } else
                 return strnappend(r, word, e-word);
 }
index d19c78c2ca663385d9c8b5bd4a4856fd6bcb23c4..4acd17df84178d80fcaf8a11b8e6ab891cd01b98 100644 (file)
@@ -257,7 +257,7 @@ ssize_t sparse_write(int fd, const void *p, size_t sz, size_t run_length) {
 char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value) {
         char *x;
 
-        x = strappend(field, value);
+        x = strjoin(field, value);
         if (x)
                 iovec[(*n_iovec)++] = IOVEC_MAKE_STRING(x);
         return x;
@@ -312,7 +312,7 @@ int iovw_put_string_field(struct iovec_wrapper *iovw, const char *field, const c
         _cleanup_free_ char *x = NULL;
         int r;
 
-        x = strappend(field, value);
+        x = strjoin(field, value);
         if (!x)
                 return log_oom();
 
index f88f0fc80c6bf12bba51cb15e6d60daa7f6d7daf..a382b0494a4e3b49b1b6b068f5f2d60a871b5638 100644 (file)
@@ -41,7 +41,7 @@ int memfd_new(const char *name) {
                         if (!e)
                                 return -ENOMEM;
 
-                        g = strappend("sd-", e);
+                        g = strjoin("sd-", e);
                         if (!g)
                                 return -ENOMEM;
 
index 474903b2a87b0b96496efd1fe7263edd018b0810..7c487fb9a34dc47f22a096481c9c97c89f24df89 100644 (file)
@@ -206,10 +206,6 @@ char *strnappend(const char *s, const char *suffix, size_t b) {
         return r;
 }
 
-char *strappend(const char *s, const char *suffix) {
-        return strnappend(s, suffix, strlen_ptr(suffix));
-}
-
 char *strjoin_real(const char *x, ...) {
         va_list ap;
         size_t l;
index ef136da49e02bfaf89c7d7d7195628a92b980467..76767afcac49a2e5ab89212f3a8b8fd81f1f2724 100644 (file)
@@ -108,7 +108,6 @@ const char* split(const char **state, size_t *l, const char *separator, SplitFla
 #define _FOREACH_WORD(word, length, s, separator, flags, state)         \
         for ((state) = (s), (word) = split(&(state), &(length), (separator), (flags)); (word); (word) = split(&(state), &(length), (separator), (flags)))
 
-char *strappend(const char *s, const char *suffix);
 char *strnappend(const char *s, const char *suffix, size_t length);
 
 char *strjoin_real(const char *x, ...) _sentinel_;
index 0a1adbf30bd7a0c3d5c801b196019c2105af90ba..2ae685f35a24751e9d21545c7aac126b8dee8b20 100644 (file)
@@ -233,7 +233,7 @@ int strv_extend_strv_concat(char ***a, char **b, const char *suffix) {
         STRV_FOREACH(s, b) {
                 char *v;
 
-                v = strappend(*s, suffix);
+                v = strjoin(*s, suffix);
                 if (!v)
                         return -ENOMEM;
 
index 0544fee9ecd4823998e45875e33419940f450e8c..70985ddecb802afbb8dc7c51ea3ed5d2438ffe84 100644 (file)
@@ -15,7 +15,7 @@ char *unit_dbus_path_from_name(const char *name) {
         if (!e)
                 return NULL;
 
-        return strappend("/org/freedesktop/systemd1/unit/", e);
+        return strjoin("/org/freedesktop/systemd1/unit/", e);
 }
 
 int unit_name_from_dbus_path(const char *path, char **name) {
index 1b81fe268f212e8cb43e10f24e227b7236655a30..af873d0ffd752ce1399db42ba035ff4a252174ba 100644 (file)
@@ -402,7 +402,7 @@ int unit_name_path_escape(const char *f, char **ret) {
 }
 
 int unit_name_path_unescape(const char *f, char **ret) {
-        char *s;
+        _cleanup_free_ char *s = NULL;
         int r;
 
         assert(f);
@@ -415,34 +415,27 @@ int unit_name_path_unescape(const char *f, char **ret) {
                 if (!s)
                         return -ENOMEM;
         } else {
-                char *w;
+                _cleanup_free_ char *w = NULL;
 
                 r = unit_name_unescape(f, &w);
                 if (r < 0)
                         return r;
 
                 /* Don't accept trailing or leading slashes */
-                if (startswith(w, "/") || endswith(w, "/")) {
-                        free(w);
+                if (startswith(w, "/") || endswith(w, "/"))
                         return -EINVAL;
-                }
 
                 /* Prefix a slash again */
-                s = strappend("/", w);
-                free(w);
+                s = strjoin("/", w);
                 if (!s)
                         return -ENOMEM;
 
-                if (!path_is_normalized(s)) {
-                        free(s);
+                if (!path_is_normalized(s))
                         return -EINVAL;
-                }
         }
 
         if (ret)
-                *ret = s;
-        else
-                free(s);
+                *ret = TAKE_PTR(s);
 
         return 0;
 }
@@ -519,7 +512,7 @@ int unit_name_from_path(const char *path, const char *suffix, char **ret) {
         if (r < 0)
                 return r;
 
-        s = strappend(p, suffix);
+        s = strjoin(p, suffix);
         if (!s)
                 return -ENOMEM;
 
@@ -719,7 +712,7 @@ int slice_build_subslice(const char *slice, const char *name, char **ret) {
                 return -EINVAL;
 
         if (streq(slice, SPECIAL_ROOT_SLICE))
-                subslice = strappend(name, ".slice");
+                subslice = strjoin(name, ".slice");
         else {
                 char *e;
 
index dda979cc42f818599d723fca1054bf1d653cd1b8..aa9d811f2e9d2769a2786bd3903405c93bc8d48f 100644 (file)
@@ -44,7 +44,7 @@ static int delete_rule(const char *rule) {
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
                                        "Rule file name '%s' is not valid, refusing.", x + 1);
 
-        fn = strappend("/proc/sys/fs/binfmt_misc/", x+1);
+        fn = path_join("/proc/sys/fs/binfmt_misc", x+1);
         if (!fn)
                 return log_oom();
 
index d8137090ed1e1870e686b94aa15fa2dceb827d56..9c086103aec724841a33d6078ae6174f20cc8869 100644 (file)
@@ -1700,7 +1700,7 @@ static int build_environment(
         }
 
         if (home) {
-                x = strappend("HOME=", home);
+                x = strjoin("HOME=", home);
                 if (!x)
                         return -ENOMEM;
 
@@ -1709,19 +1709,19 @@ static int build_environment(
         }
 
         if (username) {
-                x = strappend("LOGNAME=", username);
+                x = strjoin("LOGNAME=", username);
                 if (!x)
                         return -ENOMEM;
                 our_env[n_env++] = x;
 
-                x = strappend("USER=", username);
+                x = strjoin("USER=", username);
                 if (!x)
                         return -ENOMEM;
                 our_env[n_env++] = x;
         }
 
         if (shell) {
-                x = strappend("SHELL=", shell);
+                x = strjoin("SHELL=", shell);
                 if (!x)
                         return -ENOMEM;
 
@@ -1750,7 +1750,7 @@ static int build_environment(
                 if (!term)
                         term = default_term_for_tty(tty_path);
 
-                x = strappend("TERM=", term);
+                x = strjoin("TERM=", term);
                 if (!x)
                         return -ENOMEM;
                 our_env[n_env++] = x;
index 09507648fb1a2e88b2f2c9e59f84dbde7e510110..3d3c3b0cbac6570ccc71afced59558ce37d0e3c1 100644 (file)
@@ -893,7 +893,7 @@ static int manager_setup_notify(Manager *m) {
 
                 fd_inc_rcvbuf(fd, NOTIFY_RCVBUF_SIZE);
 
-                m->notify_socket = strappend(m->prefix[EXEC_DIRECTORY_RUNTIME], "/systemd/notify");
+                m->notify_socket = path_join(m->prefix[EXEC_DIRECTORY_RUNTIME], "systemd/notify");
                 if (!m->notify_socket)
                         return log_oom();
 
index b97285e556c3d3867399791059c74ab0a8715328..ea7b0a80cbd379a081f229351ee04ca5fa544ccb 100644 (file)
@@ -332,7 +332,7 @@ int mount_cgroup_controllers(void) {
                 if (!options)
                         options = TAKE_PTR(controller);
 
-                where = strappend("/sys/fs/cgroup/", options);
+                where = path_join("/sys/fs/cgroup", options);
                 if (!where)
                         return log_oom();
 
index 30687a967a4d094308822bf426225819286314b4..f72d6d9cbeb70108b73682210641d5bd1e43ab9e 100644 (file)
@@ -1532,7 +1532,7 @@ static int service_spawn(
                         if (r < 0)
                                 return r;
 
-                        t = strappend("REMOTE_ADDR=", addr);
+                        t = strjoin("REMOTE_ADDR=", addr);
                         if (!t)
                                 return -ENOMEM;
                         our_env[n_env++] = t;
index fa0af4c3a2d37f0430bb423ca944fbcd464bb704..7d816856b19d70266675078440e3ec3e17c532f9 100644 (file)
@@ -146,7 +146,7 @@ static int timer_setup_persistent(Timer *t) {
                 if (r < 0)
                         return r;
 
-                t->stamp_path = strappend("/var/lib/systemd/timers/stamp-", UNIT(t)->id);
+                t->stamp_path = strjoin("/var/lib/systemd/timers/stamp-", UNIT(t)->id);
         } else {
                 const char *e;
 
index 6308cda61014ca15a211594c70771ff7480648d1..f81ae3b78870d72df10a7a80576e83fa1563aebb 100644 (file)
@@ -396,7 +396,7 @@ static int save_external_coredump(
                 _cleanup_free_ char *fn_compressed = NULL, *tmp_compressed = NULL;
                 _cleanup_close_ int fd_compressed = -1;
 
-                fn_compressed = strappend(fn, COMPRESSED_EXT);
+                fn_compressed = strjoin(fn, COMPRESSED_EXT);
                 if (!fn_compressed) {
                         log_oom();
                         goto uncompressed;
index 92314b667ed3193e0ebf647077ab79f2f0f8d548..127b3c5380c8187452064703816eb5c776f65f4a 100644 (file)
@@ -583,12 +583,12 @@ static int add_proc_cmdline_devices(void) {
                         continue;
 
                 if (!d->name) {
-                        d->name = strappend("luks-", d->uuid);
+                        d->name = strjoin("luks-", d->uuid);
                         if (!d->name)
                                 return log_oom();
                 }
 
-                device = strappend("UUID=", d->uuid);
+                device = strjoin("UUID=", d->uuid);
                 if (!device)
                         return log_oom();
 
index 09220dc98c7310e3c9b68482cafe39e6a0f23cba..e73dde32b883b9423ac0abd550a9638680cd201f 100644 (file)
@@ -131,7 +131,7 @@ static int generate_wants_symlinks(void) {
                 if (!p)
                         return log_oom();
 
-                f = strappend(SYSTEM_DATA_UNIT_PATH "/", *u);
+                f = path_join(SYSTEM_DATA_UNIT_PATH, *u);
                 if (!f)
                         return log_oom();
 
index f6e37670b90624c5b516194a15202209fb006f3c..49149b59be5df457af238399053b67b15d4a070c 100644 (file)
@@ -132,7 +132,7 @@ static int add_cryptsetup(const char *id, const char *what, bool rw, bool requir
         if (device) {
                 char *ret;
 
-                ret = strappend("/dev/mapper/", id);
+                ret = path_join("/dev/mapper", id);
                 if (!ret)
                         return log_oom();
 
index c35ef556624071b8d7aadd3990ff49ca93dff9e2..75cba5827ce0db38df76ce9be4018f9a5d93ea3d 100644 (file)
@@ -253,11 +253,11 @@ static char* context_fallback_icon_name(Context *c) {
         assert(c);
 
         if (!isempty(c->data[PROP_CHASSIS]))
-                return strappend("computer-", c->data[PROP_CHASSIS]);
+                return strjoin("computer-", c->data[PROP_CHASSIS]);
 
         chassis = fallback_chassis();
         if (chassis)
-                return strappend("computer-", chassis);
+                return strjoin("computer-", chassis);
 
         return strdup("computer");
 }
index 881bba0eebc5b1ac6b2d036aa13e979caf089459..456179454869a724362fc5c450ef2f93c116d70d 100644 (file)
@@ -584,7 +584,7 @@ int pull_job_begin(PullJob *j) {
                 if (!cc)
                         return -ENOMEM;
 
-                hdr = strappend("If-None-Match: ", cc);
+                hdr = strjoin("If-None-Match: ", cc);
                 if (!hdr)
                         return -ENOMEM;
 
index 3e1ca5b1ba233b140e59aaa543613b9d90462ab7..764b3c217e3227f8802692b321538b85ae4d52e7 100644 (file)
@@ -1101,19 +1101,19 @@ static int add_matches(sd_journal *j, char **args) {
                                         if (!comm)
                                                 return log_oom();
 
-                                        t = strappend("_COMM=", comm);
+                                        t = strjoin("_COMM=", comm);
                                         if (!t)
                                                 return log_oom();
 
                                         /* Append _EXE only if the interpreter is not a link.
                                            Otherwise, it might be outdated often. */
                                         if (lstat(interpreter, &st) == 0 && !S_ISLNK(st.st_mode)) {
-                                                t2 = strappend("_EXE=", interpreter);
+                                                t2 = strjoin("_EXE=", interpreter);
                                                 if (!t2)
                                                         return log_oom();
                                         }
                                 } else {
-                                        t = strappend("_EXE=", p);
+                                        t = strjoin("_EXE=", p);
                                         if (!t)
                                                 return log_oom();
                                 }
index ce82102eeda625df9b761c339da48d88c1990ed0..366298758c65f006bb7fce0d9e6911f8c01fe920 100644 (file)
@@ -217,7 +217,7 @@ void dev_kmsg_record(Server *s, char *p, size_t l) {
                         char *b;
 
                         if (sd_device_get_devname(d, &g) >= 0) {
-                                b = strappend("_UDEV_DEVNODE=", g);
+                                b = strjoin("_UDEV_DEVNODE=", g);
                                 if (b) {
                                         iovec[n++] = IOVEC_MAKE_STRING(b);
                                         z++;
@@ -225,7 +225,7 @@ void dev_kmsg_record(Server *s, char *p, size_t l) {
                         }
 
                         if (sd_device_get_sysname(d, &g) >= 0) {
-                                b = strappend("_UDEV_SYSNAME=", g);
+                                b = strjoin("_UDEV_SYSNAME=", g);
                                 if (b) {
                                         iovec[n++] = IOVEC_MAKE_STRING(b);
                                         z++;
@@ -238,7 +238,7 @@ void dev_kmsg_record(Server *s, char *p, size_t l) {
                                 if (j >= N_IOVEC_UDEV_FIELDS)
                                         break;
 
-                                b = strappend("_UDEV_DEVLINK=", g);
+                                b = strjoin("_UDEV_DEVLINK=", g);
                                 if (b) {
                                         iovec[n++] = IOVEC_MAKE_STRING(b);
                                         z++;
@@ -271,13 +271,13 @@ void dev_kmsg_record(Server *s, char *p, size_t l) {
                         goto finish;
 
                 if (identifier) {
-                        syslog_identifier = strappend("SYSLOG_IDENTIFIER=", identifier);
+                        syslog_identifier = strjoin("SYSLOG_IDENTIFIER=", identifier);
                         if (syslog_identifier)
                                 iovec[n++] = IOVEC_MAKE_STRING(syslog_identifier);
                 }
 
                 if (pid) {
-                        syslog_pid = strappend("SYSLOG_PID=", pid);
+                        syslog_pid = strjoin("SYSLOG_PID=", pid);
                         if (syslog_pid)
                                 iovec[n++] = IOVEC_MAKE_STRING(syslog_pid);
                 }
index ce0d9ce8c985e030255ad64ca9da81228002c009..a0c2dcd2d040e02f8c34ed04f08ab3b40cc1841f 100644 (file)
@@ -737,7 +737,7 @@ static void server_cache_hostname(Server *s) {
         if (!t)
                 return;
 
-        x = strappend("_HOSTNAME=", t);
+        x = strjoin("_HOSTNAME=", t);
         if (!x)
                 return;
 
index 24d4ac30b2d8ab19deda01cc1cda2d41933c6d9c..afebadeccc77f53a59ade846ede8cb9a4ae22d51 100644 (file)
@@ -294,7 +294,7 @@ static int stdout_stream_log(StdoutStream *s, const char *p, LineBreak line_brea
         }
 
         if (s->identifier) {
-                syslog_identifier = strappend("SYSLOG_IDENTIFIER=", s->identifier);
+                syslog_identifier = strjoin("SYSLOG_IDENTIFIER=", s->identifier);
                 if (syslog_identifier)
                         iovec[n++] = IOVEC_MAKE_STRING(syslog_identifier);
         }
@@ -311,7 +311,7 @@ static int stdout_stream_log(StdoutStream *s, const char *p, LineBreak line_brea
                 iovec[n++] = IOVEC_MAKE_STRING(c);
         }
 
-        message = strappend("MESSAGE=", p);
+        message = strjoin("MESSAGE=", p);
         if (message)
                 iovec[n++] = IOVEC_MAKE_STRING(message);
 
@@ -649,7 +649,7 @@ static int stdout_stream_load(StdoutStream *stream, const char *fname) {
         assert(fname);
 
         if (!stream->state_file) {
-                stream->state_file = strappend("/run/systemd/journal/streams/", fname);
+                stream->state_file = path_join("/run/systemd/journal/streams", fname);
                 if (!stream->state_file)
                         return log_oom();
         }
index de9d23a003cb359d2308636809cce4b8e45d9276..50500222ad9bd50ccc37c516d580106ef91b6c5e 100644 (file)
@@ -10,6 +10,7 @@
 #include "journal-file.h"
 #include "journal-internal.h"
 #include "macro.h"
+#include "path-util.h"
 #include "string-util.h"
 
 int main(int argc, char *argv[]) {
@@ -23,7 +24,7 @@ int main(int argc, char *argv[]) {
         assert_se(mkdtemp(dn));
         (void) chattr_path(dn, FS_NOCOW_FL, FS_NOCOW_FL, NULL);
 
-        fn = strappend(dn, "/test.journal");
+        fn = path_join(dn, "test.journal");
 
         r = journal_file_open(-1, fn, O_CREAT|O_RDWR, 0644, false, 0, false, NULL, NULL, NULL, NULL, &new_journal);
         assert_se(r >= 0);
index 386187412b786a4b45a46696a35a42332a139209..ac1a954546cb62f6dd4b0aee99c78ee8d9979337 100644 (file)
@@ -180,7 +180,7 @@ static int errno_to_bus_error_name_new(int error, char **ret) {
         if (!name)
                 return 0;
 
-        n = strappend("System.Error.", name);
+        n = strjoin("System.Error.", name);
         if (!n)
                 return -ENOMEM;
 
index 0dc368e6e25f69d27df834216373629a3a89321a..ef22e190e4fa77908d66641e127f131e5ba8e889 100644 (file)
@@ -314,7 +314,7 @@ static int file_of_seat(const char *seat, char **_p) {
                 if (!filename_is_valid(seat))
                         return -EINVAL;
 
-                p = strappend("/run/systemd/seats/", seat);
+                p = path_join("/run/systemd/seats", seat);
         } else {
                 _cleanup_free_ char *buf = NULL;
 
@@ -322,9 +322,8 @@ static int file_of_seat(const char *seat, char **_p) {
                 if (r < 0)
                         return r;
 
-                p = strappend("/run/systemd/seats/", buf);
+                p = path_join("/run/systemd/seats", buf);
         }
-
         if (!p)
                 return -ENOMEM;
 
@@ -427,7 +426,7 @@ static int file_of_session(const char *session, char **_p) {
                 if (!session_id_valid(session))
                         return -EINVAL;
 
-                p = strappend("/run/systemd/sessions/", session);
+                p = path_join("/run/systemd/sessions", session);
         } else {
                 _cleanup_free_ char *buf = NULL;
 
@@ -435,7 +434,7 @@ static int file_of_session(const char *session, char **_p) {
                 if (r < 0)
                         return r;
 
-                p = strappend("/run/systemd/sessions/", buf);
+                p = path_join("/run/systemd/sessions", buf);
         }
 
         if (!p)
index 2dfde4ca7172d1c07e26afe49a600b47dd2057a6..ad56ddb580a0495a183305bdcb17620f760ce785 100644 (file)
@@ -83,7 +83,7 @@ static int from_user_dir(const char *field, char **buffer, const char **ret) {
         if (r < 0)
                 return r;
 
-        fn = strappend(c, "/user-dirs.dirs");
+        fn = path_join(c, "user-dirs.dirs");
         if (!fn)
                 return -ENOMEM;
 
@@ -141,7 +141,7 @@ static int from_user_dir(const char *field, char **buffer, const char **ret) {
                         if (r < 0)
                                 return r;
 
-                        cc = strappend(h, p+5);
+                        cc = path_join(h, p+5);
                         if (!cc)
                                 return -ENOMEM;
 
@@ -179,7 +179,7 @@ fallback:
                 if (r < 0)
                         return r;
 
-                cc = strappend(h, "/Desktop");
+                cc = path_join(h, "Desktop");
                 if (!cc)
                         return -ENOMEM;
 
index 139451483941bf71554ea782a81ce76b0da5c3e4..f8c36c94f5dbf3c3beb74b29bcb2e7c7dcff8a87 100644 (file)
@@ -353,7 +353,7 @@ int vconsole_write_data(Context *c) {
                 _cleanup_free_ char *s = NULL;
                 char **u;
 
-                s = strappend("KEYMAP=", c->vc_keymap);
+                s = strjoin("KEYMAP=", c->vc_keymap);
                 if (!s)
                         return -ENOMEM;
 
@@ -370,7 +370,7 @@ int vconsole_write_data(Context *c) {
                 _cleanup_free_ char *s = NULL;
                 char **u;
 
-                s = strappend("KEYMAP_TOGGLE=", c->vc_keymap_toggle);
+                s = strjoin("KEYMAP_TOGGLE=", c->vc_keymap_toggle);
                 if (!s)
                         return -ENOMEM;
 
index d2f4e60f98106041f9bdff517b754d22596cde77..2e13e4aed6501d331f82b22b0d13813912b09646 100644 (file)
@@ -222,7 +222,7 @@ int devnode_acl_all(const char *seat,
                         if (cunescape(dent->d_name, UNESCAPE_RELAX, &unescaped_devname) < 0)
                                 return -ENOMEM;
 
-                        n = strappend("/dev/", unescaped_devname);
+                        n = path_join("/dev", unescaped_devname);
                         if (!n)
                                 return -ENOMEM;
 
index 1f5bdfecfc41f2f1f0e8b6aa13525d151389fe31..b7c6e00e95f10002d2bb65cd1bc3110084d58b39 100644 (file)
@@ -1322,7 +1322,7 @@ static int trigger_device(Manager *m, sd_device *d) {
                 if (r < 0)
                         return r;
 
-                t = strappend(p, "/uevent");
+                t = path_join(p, "uevent");
                 if (!t)
                         return -ENOMEM;
 
index d963706dcef98b227fd29d4c3e8a5b5d616b7636..d32e29910129a1d8c4f7ef29107af44bc132065a 100644 (file)
@@ -17,6 +17,7 @@
 #include "logind-inhibit.h"
 #include "mkdir.h"
 #include "parse-util.h"
+#include "path-util.h"
 #include "string-table.h"
 #include "string-util.h"
 #include "tmpfile-util.h"
@@ -32,7 +33,7 @@ Inhibitor* inhibitor_new(Manager *m, const char* id) {
         if (!i)
                 return NULL;
 
-        i->state_file = strappend("/run/systemd/inhibit/", id);
+        i->state_file = path_join("/run/systemd/inhibit", id);
         if (!i->state_file)
                 return mfree(i);
 
index c33a0e0ad43c7eefe140261e26f5c7260c0c845c..3c589296115dc4cfb6022735ef6fcad1505a977e 100644 (file)
@@ -304,7 +304,7 @@ char *seat_bus_path(Seat *s) {
         if (!t)
                 return NULL;
 
-        return strappend("/org/freedesktop/login1/seat/", t);
+        return strjoin("/org/freedesktop/login1/seat/", t);
 }
 
 int seat_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error) {
index c3ad5f9b5b00c6af1ea4e8cee00ce3e708b700f8..9577ff86f40b851aa6187661304842bf954ef22b 100644 (file)
@@ -19,6 +19,7 @@
 #include "logind-session-dbus.h"
 #include "mkdir.h"
 #include "parse-util.h"
+#include "path-util.h"
 #include "stdio-util.h"
 #include "string-util.h"
 #include "terminal-util.h"
@@ -44,7 +45,7 @@ int seat_new(Seat** ret, Manager *m, const char *id) {
                 .manager = m,
         };
 
-        s->state_file = strappend("/run/systemd/seats/", id);
+        s->state_file = path_join("/run/systemd/seats", id);
         if (!s->state_file)
                 return -ENOMEM;
 
index c297f62cdf9936811be02a17064c627b778f38a3..fc194a3e72c20e416efbc48472e963a19024b0e1 100644 (file)
@@ -634,7 +634,7 @@ char *session_bus_path(Session *s) {
         if (!t)
                 return NULL;
 
-        return strappend("/org/freedesktop/login1/session/", t);
+        return strjoin("/org/freedesktop/login1/session/", t);
 }
 
 int session_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error) {
index 17700c6921901e766d83b0ef3bedce9022635092..f78453736d20ffaa2bb1babad75d4920a109672f 100644 (file)
@@ -67,7 +67,7 @@ int session_new(Session **ret, Manager *m, const char *id) {
                 .tty_validity = _TTY_VALIDITY_INVALID,
         };
 
-        s->state_file = strappend("/run/systemd/sessions/", id);
+        s->state_file = path_join("/run/systemd/sessions", id);
         if (!s->state_file)
                 return -ENOMEM;
 
@@ -899,7 +899,7 @@ static int get_tty_atime(const char *tty, usec_t *atime) {
         assert(atime);
 
         if (!path_is_absolute(tty)) {
-                p = strappend("/dev/", tty);
+                p = path_join("/dev", tty);
                 if (!p)
                         return -ENOMEM;
 
index a41d83b8970ad29c3a637705cd4fbb2d637f9220..9104e023e8e58239a58ec4a5a732784d28916313 100644 (file)
@@ -109,7 +109,7 @@ static int show_sysfs_one(
                 if (++(*i_dev) < n_dev) {
                         _cleanup_free_ char *p = NULL;
 
-                        p = strappend(prefix, lookahead < n_dev ? special_glyph(SPECIAL_GLYPH_TREE_VERTICAL) : "  ");
+                        p = strjoin(prefix, lookahead < n_dev ? special_glyph(SPECIAL_GLYPH_TREE_VERTICAL) : "  ");
                         if (!p)
                                 return -ENOMEM;
 
index 7e7f0d51bfb0db5ea8a2adaf82b9d626788a6442..b45355d86fce7d322c2ee9bf8f33682b791d6aa8 100644 (file)
@@ -458,7 +458,7 @@ char *image_bus_path(const char *name) {
         if (!e)
                 return NULL;
 
-        return strappend("/org/freedesktop/machine1/image/", e);
+        return strjoin("/org/freedesktop/machine1/image/", e);
 }
 
 int image_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error) {
index b89e6046d93a679a8f35544a9ec6a22616184b72..0d58b5eb8b6f4f6cb65702a9d6ff59a98ebf11a2 100644 (file)
@@ -1383,7 +1383,7 @@ char *machine_bus_path(Machine *m) {
         if (!e)
                 return NULL;
 
-        return strappend("/org/freedesktop/machine1/machine/", e);
+        return strjoin("/org/freedesktop/machine1/machine/", e);
 }
 
 int machine_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error) {
index b203a1dde856289efe4c428aac067d778ee8a13b..4d07a7893a9ef188f1f19e26d3ea5e932454eb4d 100644 (file)
@@ -22,6 +22,7 @@
 #include "machine.h"
 #include "mkdir.h"
 #include "parse-util.h"
+#include "path-util.h"
 #include "process-util.h"
 #include "serialize.h"
 #include "special.h"
@@ -53,7 +54,7 @@ Machine* machine_new(Manager *manager, MachineClass class, const char *name) {
                 goto fail;
 
         if (class != MACHINE_HOST) {
-                m->state_file = strappend("/run/systemd/machines/", m->name);
+                m->state_file = path_join("/run/systemd/machines", m->name);
                 if (!m->state_file)
                         goto fail;
         }
index 750529bbbd39985ebf6a7d79d7e76337c538bba0..c2e7683bcf7ea7e247e669bc722f638d37b68183 100644 (file)
@@ -166,7 +166,7 @@ static int run(int argc, char* argv[]) {
                 our_env[i++] = (char*) "READY=1";
 
         if (arg_status) {
-                status = strappend("STATUS=", arg_status);
+                status = strjoin("STATUS=", arg_status);
                 if (!status)
                         return log_oom();
 
index d09e12346fc6aa2bbe4bd55d5f2f3313f82dfe00..214cf5749b20a3d2d41775d3e1f9bc07b540f757 100644 (file)
@@ -489,7 +489,7 @@ int setup_macvlan(const char *machine_name, pid_t pid, char **ifaces) {
                 if (r < 0)
                         return log_error_errno(r, "Failed to add netlink interface index: %m");
 
-                n = strappend("mv-", *i);
+                n = strjoin("mv-", *i);
                 if (!n)
                         return log_oom();
 
@@ -564,7 +564,7 @@ int setup_ipvlan(const char *machine_name, pid_t pid, char **ifaces) {
                 if (r < 0)
                         return log_error_errno(r, "Failed to add netlink interface index: %m");
 
-                n = strappend("iv-", *i);
+                n = strjoin("iv-", *i);
                 if (!n)
                         return log_oom();
 
index 9ff37c6dbdd7661a043ca4d37cc1f9205d023039..3a99736813798c57c09c94e8ae14119480c8b719 100644 (file)
@@ -505,7 +505,7 @@ int config_parse_network_zone(
         assert(lvalue);
         assert(rvalue);
 
-        j = strappend("vz-", rvalue);
+        j = strjoin("vz-", rvalue);
         if (!ifname_valid(j)) {
                 log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid network zone name, ignoring: %s", rvalue);
                 return 0;
index a563c026dd6edb9646c876002c94f21b27d22c0c..117a637699084ef5b454314c89b25b30a09cee5c 100644 (file)
@@ -725,7 +725,7 @@ static int parse_argv(int argc, char *argv[]) {
                 case ARG_NETWORK_ZONE: {
                         char *j;
 
-                        j = strappend("vz-", optarg);
+                        j = strjoin("vz-", optarg);
                         if (!j)
                                 return log_oom();
 
index 94ec8be896ee4eb411d1c677e06f021f08dde24e..f44d0b8343155a02b449b81306949a55ad5ccfc2 100644 (file)
@@ -1281,7 +1281,7 @@ static int read_domain_one(sd_bus_message *m, bool with_ifindex, char **ret) {
         }
 
         if (route_only)
-                str = strappend("~", domain);
+                str = strjoin("~", domain);
         else
                 str = strdup(domain);
         if (!str)
index 0ee7340ffc6b36437de9d66ec0fb717c4a612fe6..e5693bf72d41e49c9ccf781ee38b43887c7e06a2 100644 (file)
@@ -161,7 +161,7 @@ int dns_answer_add_soa(DnsAnswer *a, const char *name, uint32_t ttl, int ifindex
         if (!soa->soa.mname)
                 return -ENOMEM;
 
-        soa->soa.rname = strappend("root.", name);
+        soa->soa.rname = strjoin("root.", name);
         if (!soa->soa.rname)
                 return -ENOMEM;
 
index 997cb986e610878af4a9eea3024835b9ed7eb345..fc375a88215037759b33b3dc9114a1f4bd62804a 100644 (file)
@@ -2182,7 +2182,7 @@ static int dnssec_test_positive_wildcard_nsec(
                         return -EBADMSG;
 
                 /* Replace the label we stripped off with an asterisk */
-                wc = strappend("*.", name);
+                wc = strjoin("*.", name);
                 if (!wc)
                         return -ENOMEM;
 
index 02153b929fb9e19fa78d1dbb47616d74a1333ebc..d65c780791cf3b0007eb741727447dd3a491a82d 100644 (file)
@@ -1500,7 +1500,7 @@ void manager_cleanup_saved_user(Manager *m) {
                 continue;
 
         rm:
-                p = strappend("/run/systemd/resolve/netif/", de->d_name);
+                p = path_join("/run/systemd/resolve/netif", de->d_name);
                 if (!p) {
                         log_oom();
                         return;
index 23c5a12454ca301ab1f765f3da1b51f3cd73df04..aeba2ebfd399ea1a9be14c070acbb862fc6e1104 100644 (file)
@@ -241,7 +241,7 @@ static int dump_processes(
 
                         special = special_glyph(more ? SPECIAL_GLYPH_TREE_VERTICAL : SPECIAL_GLYPH_TREE_SPACE);
 
-                        pp = strappend(prefix, special);
+                        pp = strjoin(prefix, special);
                         if (!pp)
                                 return -ENOMEM;
 
index 6a7358e3015f4be19aa4cb221a914cf70f28ab31..b1945ceb8d62079f8c131a5323d9066a9f18582f 100644 (file)
@@ -313,7 +313,7 @@ static int bus_append_exec_command(sd_bus_message *m, const char *field, const c
         if (!is_ex_prop && (flags & (EXEC_COMMAND_NO_ENV_EXPAND|EXEC_COMMAND_FULLY_PRIVILEGED|EXEC_COMMAND_NO_SETUID|EXEC_COMMAND_AMBIENT_MAGIC))) {
                 /* Upgrade the ExecXYZ= property to ExecXYZEx= for convenience */
                 is_ex_prop = true;
-                upgraded_name = strappend(field, "Ex");
+                upgraded_name = strjoin(field, "Ex");
                 if (!upgraded_name)
                         return log_oom();
         }
index b3b05872e9590f316cb11001497321d758901136..8e301250bcbb58b3152b09bbc1369c4b40f118af 100644 (file)
@@ -990,7 +990,7 @@ int bus_message_print_all_properties(
                                 return log_oom();
                 }
 
-                name_with_equal = strappend(name, "=");
+                name_with_equal = strjoin(name, "=");
                 if (!name_with_equal)
                         return log_oom();
 
index 465e38c4fbf2a5e3f6d52836e950e7c590710992..732bc752afdad22fcab6d68742bbf6aea10e71b8 100644 (file)
@@ -165,7 +165,7 @@ int show_cgroup_by_path(
                         printf("%s%s%s\n", prefix, special_glyph(SPECIAL_GLYPH_TREE_BRANCH), cg_unescape(basename(last)));
 
                         if (!p1) {
-                                p1 = strappend(prefix, special_glyph(SPECIAL_GLYPH_TREE_VERTICAL));
+                                p1 = strjoin(prefix, special_glyph(SPECIAL_GLYPH_TREE_VERTICAL));
                                 if (!p1)
                                         return -ENOMEM;
                         }
@@ -187,7 +187,7 @@ int show_cgroup_by_path(
                 printf("%s%s%s\n", prefix, special_glyph(SPECIAL_GLYPH_TREE_RIGHT), cg_unescape(basename(last)));
 
                 if (!p2) {
-                        p2 = strappend(prefix, "  ");
+                        p2 = strjoin(prefix, "  ");
                         if (!p2)
                                 return -ENOMEM;
                 }
index 105412bc8fd799883196735e60ef96a561664404..68ffd12f03c4da1c3638777976ca2af5f6e24256 100644 (file)
@@ -2308,7 +2308,7 @@ int unit_file_revert(
                                         has_vendor = true;
                         }
 
-                        dropin = strappend(path, ".d");
+                        dropin = strjoin(path, ".d");
                         if (!dropin)
                                 return -ENOMEM;
 
index ee086e35b47b342f63e789186234d1f757c5b635..07744b34b49c5177b37a6cef4dbeb409137e034d 100644 (file)
@@ -87,8 +87,8 @@ static char **image_settings_path(Image *image) {
 
         fn = strjoina(image->name, ".nspawn");
 
-        FOREACH_STRING(s, "/etc/systemd/nspawn/", "/run/systemd/nspawn/") {
-                l[i] = strappend(s, fn);
+        FOREACH_STRING(s, "/etc/systemd/nspawn", "/run/systemd/nspawn") {
+                l[i] = path_join(s, fn);
                 if (!l[i])
                         return NULL;
 
@@ -441,7 +441,7 @@ int image_find(ImageClass class, const char *name, Image **ret) {
                         if (errno != ENOENT)
                                 return -errno;
 
-                        raw = strappend(name, ".raw");
+                        raw = strjoin(name, ".raw");
                         if (!raw)
                                 return -ENOMEM;
 
index 6494210ee9e12c8f115cdf7d1b3b76a70219a748..f1caddb477d3cb29fd2510afc441a315f727a24b 100644 (file)
@@ -32,7 +32,7 @@ int xdg_user_runtime_dir(char **ret, const char *suffix) {
         if (!e)
                 return -ENXIO;
 
-        j = strappend(e, suffix);
+        j = strjoin(e, suffix);
         if (!j)
                 return -ENOMEM;
 
@@ -49,7 +49,7 @@ int xdg_user_config_dir(char **ret, const char *suffix) {
 
         e = getenv("XDG_CONFIG_HOME");
         if (e)
-                j = strappend(e, suffix);
+                j = strjoin(e, suffix);
         else {
                 _cleanup_free_ char *home = NULL;
 
@@ -81,7 +81,7 @@ int xdg_user_data_dir(char **ret, const char *suffix) {
 
         e = getenv("XDG_DATA_HOME");
         if (e)
-                j = strappend(e, suffix);
+                j = strjoin(e, suffix);
         else {
                 _cleanup_free_ char *home = NULL;
 
@@ -270,15 +270,15 @@ static int acquire_generator_dirs(
                 prefix = strjoina(e, "/systemd");
         }
 
-        x = strappend(prefix, "/generator");
+        x = path_join(prefix, "generator");
         if (!x)
                 return -ENOMEM;
 
-        y = strappend(prefix, "/generator.early");
+        y = path_join(prefix, "generator.early");
         if (!y)
                 return -ENOMEM;
 
-        z = strappend(prefix, "/generator.late");
+        z = path_join(prefix, "generator.late");
         if (!z)
                 return -ENOMEM;
 
index bb2643a4804194e32278d0394aaae4fc3e1ea822..9838701a3d9d9baa49c48991f6a3e667fa0a102d 100644 (file)
@@ -236,7 +236,7 @@ static int parse_argv(int argc, char *argv[]) {
                         if (path_startswith(optarg, "/proc/sys"))
                                 p = strdup(optarg);
                         else
-                                p = strappend("/proc/sys/", optarg);
+                                p = path_join("/proc/sys", optarg);
                         if (!p)
                                 return log_oom();
 
index 7b39f5d95b5640b763680323792ec9a2b0c07429..6490fe6f0d1c4bc187e24183a3a154fe5a426ba6 100644 (file)
@@ -6459,7 +6459,7 @@ static int enable_sysv_units(const char *verb, char **args) {
                 }
 
                 if (!isempty(arg_root)) {
-                        q = strappend("--root=", arg_root);
+                        q = strjoin("--root=", arg_root);
                         if (!q)
                                 return log_oom();
 
index 175e4a23931813d43b0fd8bae261f897ce68a4eb..5df5743823d522c0562938193b8c00b5f41deac7 100644 (file)
@@ -642,7 +642,7 @@ static int load_sysv(SysvStub *s) {
         if (description) {
                 char *d;
 
-                d = strappend(s->has_lsb ? "LSB: " : "SYSV: ", description);
+                d = strjoin(s->has_lsb ? "LSB: " : "SYSV: ", description);
                 if (!d)
                         return log_oom();
 
index 07b681cf43c187efe63af6e404dbf5dc6c8fa215..61811311f4903c62e8f0f403be1fbde6c7644303 100644 (file)
@@ -30,7 +30,7 @@ static void setup_test_dir(char *tmp_dir, const char *files, ...) {
         while (files) {
                 _cleanup_free_ char *path;
 
-                assert_se(path = strappend(tmp_dir, files));
+                assert_se(path = path_join(tmp_dir, files));
                 (void) mkdir_parents(path, 0755);
                 assert_se(write_string_file(path, "foobar", WRITE_STRING_FILE_CREATE) >= 0);
 
index 5f4bc39580de4c893e9465b1cdf193f882184ecc..bfe6cea41cb2e2afe697956665696f72714140dc 100644 (file)
@@ -92,7 +92,7 @@ static void test_copy_tree(void) {
         STRV_FOREACH(p, files) {
                 _cleanup_free_ char *f;
 
-                assert_se(f = strappend(original_dir, *p));
+                assert_se(f = path_join(original_dir, *p));
 
                 assert_se(mkdir_parents(f, 0755) >= 0);
                 assert_se(write_string_file(f, "file", WRITE_STRING_FILE_CREATE) == 0);
@@ -101,8 +101,8 @@ static void test_copy_tree(void) {
         STRV_FOREACH_PAIR(link, p, links) {
                 _cleanup_free_ char *f, *l;
 
-                assert_se(f = strappend(original_dir, *p));
-                assert_se(l = strappend(original_dir, *link));
+                assert_se(f = path_join(original_dir, *p));
+                assert_se(l = path_join(original_dir, *link));
 
                 assert_se(mkdir_parents(l, 0755) >= 0);
                 assert_se(symlink(f, l) == 0);
@@ -117,7 +117,7 @@ static void test_copy_tree(void) {
                 _cleanup_free_ char *buf, *f;
                 size_t sz;
 
-                assert_se(f = strappend(copy_dir, *p));
+                assert_se(f = path_join(copy_dir, *p));
 
                 assert_se(access(f, F_OK) == 0);
                 assert_se(read_full_file(f, &buf, &sz) == 0);
index 90a8d5f36c6f5f12367fde6fba65ef2da3631365..413816ceb8e35a16cfd5ac7683193174211130b4 100644 (file)
@@ -327,7 +327,7 @@ static void test_strv_resolve(void) {
         search_dirs = strv_new("/dir1", "/dir2", "/dir3");
         assert_se(search_dirs);
         STRV_FOREACH(d, search_dirs) {
-                char *p = strappend(tmp_dir, *d);
+                char *p = path_join(tmp_dir, *d);
                 assert_se(p);
                 assert_se(strv_push(&absolute_dirs, p) == 0);
         }
index d84170bc22231cec0c7f3107bc90742cd9314d68..8ea399436621939d8ad8c646cc245e100c713522 100644 (file)
@@ -250,22 +250,6 @@ static void test_strrep(void) {
         assert_se(streq(zero, ""));
 }
 
-static void test_strappend(void) {
-        _cleanup_free_ char *t1, *t2, *t3, *t4;
-
-        t1 = strappend(NULL, NULL);
-        assert_se(streq(t1, ""));
-
-        t2 = strappend(NULL, "suf");
-        assert_se(streq(t2, "suf"));
-
-        t3 = strappend("pre", NULL);
-        assert_se(streq(t3, "pre"));
-
-        t4 = strappend("pre", "suf");
-        assert_se(streq(t4, "presuf"));
-}
-
 static void test_string_has_cc(void) {
         assert_se(string_has_cc("abc\1", NULL));
         assert_se(string_has_cc("abc\x7f", NULL));
@@ -568,7 +552,6 @@ int main(int argc, char *argv[]) {
         test_strextend();
         test_strextend_with_separator();
         test_strrep();
-        test_strappend();
         test_string_has_cc();
         test_ascii_strlower();
         test_strshorten();
index fe91854ac8ca836775e381da5186bae2a1d9b34a..57bbefc0c10fc9c8ca3a2b03e20826acc748895f 100644 (file)
@@ -227,7 +227,7 @@ static int context_write_data_timezone(Context *c) {
                 return r;
         }
 
-        p = strappend("../usr/share/zoneinfo/", c->zone);
+        p = path_join("../usr/share/zoneinfo", c->zone);
         if (!p)
                 return log_oom();
 
index 90ba32ede0fcdca224e88005bfa71674631b2ad5..3c30612af1aaea1912797a5265f1205d9ed009e7 100644 (file)
@@ -2597,7 +2597,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer, bool
 
         case CREATE_SYMLINK:
                 if (!i.argument) {
-                        i.argument = path_join("/usr/share/factory/", i.path);
+                        i.argument = path_join("/usr/share/factory", i.path);
                         if (!i.argument)
                                 return log_oom();
                 }
@@ -2613,7 +2613,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer, bool
 
         case COPY_FILES:
                 if (!i.argument) {
-                        i.argument = path_join(arg_root, "/usr/share/factory/", i.path);
+                        i.argument = path_join(arg_root, "/usr/share/factory", i.path);
                         if (!i.argument)
                                 return log_oom();
 
index 843c302bf4ba1dba04336084cba99a535650d630..e17140ea0ce79926ba07be3742565285f71385bd 100644 (file)
@@ -480,7 +480,7 @@ static int show_passwords(void) {
                 if (!startswith(de->d_name, "ask."))
                         continue;
 
-                p = strappend("/run/systemd/ask-password/", de->d_name);
+                p = path_join("/run/systemd/ask-password", de->d_name);
                 if (!p)
                         return log_oom();