correct variadic prototypes for execl* family
[musl] / src / process / execle.c
1 #include <unistd.h>
2 #include <stdarg.h>
3
4 int execle(const char *path, const char *argv0, ...)
5 {
6         int argc;
7         va_list ap;
8         va_start(ap, argv0);
9         for (argc=1; va_arg(ap, const char *); argc++);
10         va_end(ap);
11         {
12                 int i;
13                 char *argv[argc+1];
14                 char **envp;
15                 va_start(ap, argv0);
16                 argv[0] = (char *)argv0;
17                 for (i=1; i<argc; i++)
18                         argv[i] = va_arg(ap, char *);
19                 argv[i] = NULL;
20                 envp = va_arg(ap, char **);
21                 return execve(path, argv, envp);
22         }
23 }