Add argvJoin() for combining an argv array into a string
authorPanu Matilainen <pmatilai@redhat.com>
Fri, 18 Apr 2008 09:36:02 +0000 (12:36 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Fri, 18 Apr 2008 11:59:03 +0000 (14:59 +0300)
rpmio/argv.c
rpmio/argv.h

index 0ff05ac..ff11f5c 100644 (file)
@@ -197,3 +197,15 @@ int argvSplit(ARGV_t * argvp, const char * str, const char * seps)
     *argvp = argv;
     return 0;
 }
+
+char *argvJoin(ARGV_const_t argv, const char *sep)
+{
+    char *dest = NULL;
+    char * const *arg;
+
+    for (arg = argv; *arg; arg++) {
+       rstrscat(&dest, *arg, *(arg+1) ? sep : "", NULL);
+    } 
+    return dest;
+}
+    
index 0432752..6a6fc7f 100644 (file)
@@ -147,6 +147,14 @@ int argvAppend(ARGV_t * argvp, ARGV_const_t av);
  */
 int argvSplit(ARGV_t * argvp, const char * str, const char * seps);
 
+/** \ingroup rpmargv
+ * Join an argv array into a string.
+ * @param *argv                argv array to join
+ * @param sep          seperator string to use
+ * @return             malloc'ed string
+ */
+char *argvJoin(ARGV_const_t argv, const char *sep);
+
 #ifdef __cplusplus
 }
 #endif