]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
utils: move helpers from cgfsng.c to utils.{c,h}
authorChristian Brauner <christian.brauner@ubuntu.com>
Wed, 26 Jul 2017 12:57:35 +0000 (14:57 +0200)
committerChristian Brauner <christian.brauner@ubuntu.com>
Wed, 26 Jul 2017 12:57:35 +0000 (14:57 +0200)
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/cgroups/cgfsng.c
src/lxc/utils.c
src/lxc/utils.h

index 1192d575f72c16dcaa2391c56ae4edfbcc548d93..b3f4ca742f5bf4083db7b0890e4315f9fceceb00 100644 (file)
@@ -118,36 +118,12 @@ static void free_string_list(char **clist)
        }
 }
 
-/* Re-alllocate a pointer, do not fail */
-static void *must_realloc(void *orig, size_t sz)
-{
-       void *ret;
-
-       do {
-               ret = realloc(orig, sz);
-       } while (!ret);
-       return ret;
-}
-
 /* Allocate a pointer, do not fail */
 static void *must_alloc(size_t sz)
 {
        return must_realloc(NULL, sz);
 }
 
-/* return copy of string @entry;  do not fail. */
-static char *must_copy_string(const char *entry)
-{
-       char *ret;
-
-       if (!entry)
-               return NULL;
-       do {
-               ret = strdup(entry);
-       } while (!ret);
-       return ret;
-}
-
 /*
  * This is a special case - return a copy of @entry
  * prepending 'name='.  I.e. turn systemd into name=systemd.
@@ -259,8 +235,6 @@ struct hierarchy *get_hierarchy(const char *c)
        return NULL;
 }
 
-static char *must_make_path(const char *first, ...) __attribute__((sentinel));
-
 #define BATCH_SIZE 50
 static void batch_realloc(char **mem, size_t oldlen, size_t newlen)
 {
@@ -1187,33 +1161,6 @@ out_free:
        return NULL;
 }
 
-/*
- * Concatenate all passed-in strings into one path.  Do not fail.  If any piece is
- * not prefixed with '/', add a '/'.
- */
-static char *must_make_path(const char *first, ...)
-{
-       va_list args;
-       char *cur, *dest;
-       size_t full_len = strlen(first);
-
-       dest = must_copy_string(first);
-
-       va_start(args, first);
-       while ((cur = va_arg(args, char *)) != NULL) {
-               full_len += strlen(cur);
-               if (cur[0] != '/')
-                       full_len++;
-               dest = must_realloc(dest, full_len + 1);
-               if (cur[0] != '/')
-                       strcat(dest, "/");
-               strcat(dest, cur);
-       }
-       va_end(args);
-
-       return dest;
-}
-
 static int cgroup_rmdir(char *dirname)
 {
        struct dirent *direntp;
index 5b61cba00fbea3b27c8bcb39a0392f9c4ee7414f..f89c837d5bdc161d9efa029622b2c111d60c2424 100644 (file)
@@ -2337,3 +2337,50 @@ int run_command(char *buf, size_t buf_size, int (*child_fn)(void *), void *args)
 
        return fret;
 }
+
+char *must_make_path(const char *first, ...)
+{
+       va_list args;
+       char *cur, *dest;
+       size_t full_len = strlen(first);
+
+       dest = must_copy_string(first);
+
+       va_start(args, first);
+       while ((cur = va_arg(args, char *)) != NULL) {
+               full_len += strlen(cur);
+               if (cur[0] != '/')
+                       full_len++;
+               dest = must_realloc(dest, full_len + 1);
+               if (cur[0] != '/')
+                       strcat(dest, "/");
+               strcat(dest, cur);
+       }
+       va_end(args);
+
+       return dest;
+}
+
+char *must_copy_string(const char *entry)
+{
+       char *ret;
+
+       if (!entry)
+               return NULL;
+       do {
+               ret = strdup(entry);
+       } while (!ret);
+
+       return ret;
+}
+
+void *must_realloc(void *orig, size_t sz)
+{
+       void *ret;
+
+       do {
+               ret = realloc(orig, sz);
+       } while (!ret);
+
+       return ret;
+}
index 916ee56a6869f4080e7d9d630fffc97f85d2087f..3465e6a6f2461066d4648acd49144b46692e454a 100644 (file)
@@ -375,4 +375,15 @@ int lxc_unstack_mountpoint(const char *path, bool lazy);
  */
 int run_command(char *buf, size_t buf_size, int (*child_fn)(void *), void *args);
 
+/* Concatenate all passed-in strings into one path. Do not fail. If any piece
+ * is not prefixed with '/', add a '/'.
+ */
+char *must_make_path(const char *first, ...) __attribute__((sentinel));
+
+/* return copy of string @entry;  do not fail. */
+char *must_copy_string(const char *entry);
+
+/* Re-alllocate a pointer, do not fail */
+void *must_realloc(void *orig, size_t sz);
+
 #endif /* __LXC_UTILS_H */