correct variadic prototypes for execl* family
[musl] / src / process / execl.c
1 #include <unistd.h>
2 #include <stdarg.h>
3
4 int execl(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                 va_start(ap, argv0);
15                 argv[0] = (char *)argv0;
16                 for (i=1; i<argc; i++)
17                         argv[i] = va_arg(ap, char *);
18                 argv[i] = NULL;
19                 return execv(path, argv);
20         }
21 }