[Pkg-libvirt-commits] [libguestfs] 68/233: utils: Add utility function to copy string lists.

Hilko Bengen bengen at moszumanska.debian.org
Wed Feb 19 21:10:56 UTC 2014


This is an automated email from the git hooks/post-receive script.

bengen pushed a commit to branch experimental
in repository libguestfs.

commit 693a21513b8bf4c61aad76f1860d68f44d5e5e73
Author: Richard W.M. Jones <rjones at redhat.com>
Date:   Sat Jan 18 15:25:07 2014 +0000

    utils: Add utility function to copy string lists.
---
 src/guestfs-internal-frontend.h |  1 +
 src/utils.c                     | 25 +++++++++++++++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/src/guestfs-internal-frontend.h b/src/guestfs-internal-frontend.h
index d8da33e..e2cb0a5 100644
--- a/src/guestfs-internal-frontend.h
+++ b/src/guestfs-internal-frontend.h
@@ -95,6 +95,7 @@ extern char *guestfs___safe_asprintf (guestfs_h *g, const char *fs, ...)
 extern void guestfs___free_string_list (char **);
 extern size_t guestfs___count_strings (char *const *);
 extern char *guestfs___concat_strings (char *const *);
+extern char **guestfs___copy_string_list (char *const *);
 extern char *guestfs___join_strings (const char *sep, char *const *);
 extern char *guestfs___exit_status_to_string (int status, const char *cmd_name, char *buffer, size_t buflen);
 extern int guestfs___random_string (char *ret, size_t len);
diff --git a/src/utils.c b/src/utils.c
index 56686b7..3c30608 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -60,6 +60,31 @@ guestfs___count_strings (char *const *argv)
   return r;
 }
 
+char **
+guestfs___copy_string_list (char *const *argv)
+{
+  size_t n = guestfs___count_strings (argv);
+  size_t i;
+  char **ret;
+
+  ret = malloc ((n+1) * sizeof (char *));
+  if (ret == NULL)
+    return NULL;
+  ret[n] = NULL;
+
+  for (i = 0; i < n; ++i) {
+    ret[i] = strdup (argv[i]);
+    if (ret[i] == NULL) {
+      for (size_t j = 0; j < i; ++j)
+        free (ret[j]);
+      free (ret);
+      return NULL;
+    }
+  }
+
+  return ret;
+}
+
 /* Note that near-identical functions exist in the daemon. */
 char *
 guestfs___concat_strings (char *const *argv)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-libvirt/libguestfs.git



More information about the Pkg-libvirt-commits mailing list