+Wed Nov 5 13:19:00 EST 2008 Cole Robinson <crobinso@redhat.com>
+
+ * src/iptables.c, src/util.c, src/util.h: Move local argvToString to
+ virArgvToString.
+
Wed Nov 5 15:22:12 CET 2008 Jim Meyering <meyering@redhat.com>
plug two leaks and fix a diagnostic
return NULL;
}
-static char *
-argvToString(const char *const *argv)
-{
- int len, i;
- char *ret, *p;
-
- for (len = 1, i = 0; argv[i]; i++)
- len += strlen(argv[i]) + 1;
-
- if (VIR_ALLOC_N(ret, len) < 0)
- return NULL;
- p = ret;
-
- for (i = 0; argv[i]; i++) {
- if (i != 0)
- *(p++) = ' ';
-
- strcpy(p, argv[i]);
- p += strlen(argv[i]);
- }
-
- *p = '\0';
-
- return ret;
-}
-
static int
iptablesAddRemoveRule(iptRules *rules, int action, const char *arg, ...)
{
va_end(args);
- if (!(rule = argvToString(&argv[command_idx])))
+ if (!(rule = virArgvToString(&argv[command_idx])))
goto error;
if (action == REMOVE) {
return 1;
}
+char *
+virArgvToString(const char *const *argv)
+{
+ int len, i;
+ char *ret, *p;
+
+ for (len = 1, i = 0; argv[i]; i++)
+ len += strlen(argv[i]) + 1;
+
+ if (VIR_ALLOC_N(ret, len) < 0)
+ return NULL;
+ p = ret;
+
+ for (i = 0; argv[i]; i++) {
+ if (i != 0)
+ *(p++) = ' ';
+
+ strcpy(p, argv[i]);
+ p += strlen(argv[i]);
+ }
+
+ *p = '\0';
+
+ return ret;
+}
+
+
#ifndef __MINGW32__
static int virSetCloseExec(int fd) {
int virFileDeletePid(const char *dir,
const char *name);
+char *virArgvToString(const char *const *argv);
+
int __virStrToLong_i(char const *s,
char **end_ptr,
int base,