summaryrefslogtreecommitdiff
path: root/misc/deco/files/patch-run.c
blob: 0f2fcd6a7360b9283fe174b6bcc2f4f271664563 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
--- run.c	Wed Mar  7 19:37:47 2001
+++ run.c	Sun Dec  5 22:51:12 2004
@@ -136,10 +136,22 @@
 {
 	va_list ap;
 	int err;
+	char **argv, **argp;
+	int argc;
 
+	argc = 1;
 	va_start (ap, name);
-	err = run (name, ap, execve, silent);
+	while (va_arg (ap, char *) != NULL)
+		argc++;
 	va_end (ap);
+	argv = (char **) malloc (argc * sizeof (char *));
+	argp = argv;
+	va_start (ap, name);
+	while ((*argp++ = va_arg (ap, char *)) != NULL);
+	*argp = NULL;
+	va_end (ap);
+	err = run (name, argv, execve, silent);
+	free (argv);
 	return err;
 }