]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
strv: remove strv_extend_front()
authorLennart Poettering <lennart@poettering.net>
Tue, 16 Jan 2024 18:17:12 +0000 (19:17 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 17 Jan 2024 10:32:11 +0000 (11:32 +0100)
It's entirely identical to strv_push_prepend() hence drop the duplicate
definition.

src/basic/strv.c
src/basic/strv.h
src/environment-d-generator/environment-d-generator.c

index 27a70a84158a5003ecbe632ef4a593b7aba549dd..97da11e1644fbfb4452519366513ad9055817fbb 100644 (file)
@@ -590,42 +590,6 @@ int strv_extend_with_size(char ***l, size_t *n, const char *value) {
         return strv_consume_with_size(l, n, v);
 }
 
-int strv_extend_front(char ***l, const char *value) {
-        size_t n, m;
-        char *v, **c;
-
-        assert(l);
-
-        /* Like strv_extend(), but prepends rather than appends the new entry */
-
-        if (!value)
-                return 0;
-
-        n = strv_length(*l);
-
-        /* Increase and overflow check. */
-        m = n + 2;
-        if (m < n)
-                return -ENOMEM;
-
-        v = strdup(value);
-        if (!v)
-                return -ENOMEM;
-
-        c = reallocarray(*l, m, sizeof(char*));
-        if (!c) {
-                free(v);
-                return -ENOMEM;
-        }
-
-        memmove(c+1, c, n * sizeof(char*));
-        c[0] = v;
-        c[n+1] = NULL;
-
-        *l = c;
-        return 0;
-}
-
 char** strv_uniq(char **l) {
         /* Drops duplicate entries. The first identical string will be
          * kept, the others dropped */
index 7361faed84c85d4b15f4d8205a0cd21e49b0bef3..f6502e50ef0dd11203e08d1ec21a5b679ed87768 100644 (file)
@@ -56,7 +56,6 @@ static inline int strv_extend(char ***l, const char *value) {
 }
 
 int strv_extendf(char ***l, const char *format, ...) _printf_(2,3);
-int strv_extend_front(char ***l, const char *value);
 
 int strv_push_with_size(char ***l, size_t *n, char *value);
 static inline int strv_push(char ***l, char *value) {
index 90e31c98efa41074618b51a17bd77d9058e4d1ef..fa2c54af31d6a992bef9e20c226043dfee1a1401 100644 (file)
@@ -26,7 +26,7 @@ static int environment_dirs(char ***ret) {
         if (r < 0)
                 return r;
 
-        r = strv_extend_front(&dirs, c);
+        r = strv_consume_prepend(&dirs, TAKE_PTR(c));
         if (r < 0)
                 return r;