OLD | NEW |
1 #include <unistd.h> | 1 #include <unistd.h> |
2 #include <stdarg.h> | 2 #include <stdarg.h> |
3 | 3 |
4 int execl(const char *path, const char *argv0, ...) | 4 int execl(const char* path, const char* argv0, ...) { |
5 { | 5 int argc; |
6 » int argc; | 6 va_list ap; |
7 » va_list ap; | 7 va_start(ap, argv0); |
8 » va_start(ap, argv0); | 8 for (argc = 1; va_arg(ap, const char*); argc++) |
9 » for (argc=1; va_arg(ap, const char *); argc++); | 9 ; |
10 » va_end(ap); | 10 va_end(ap); |
11 » { | 11 { |
12 » » int i; | 12 int i; |
13 » » char *argv[argc+1]; | 13 char* argv[argc + 1]; |
14 » » va_start(ap, argv0); | 14 va_start(ap, argv0); |
15 » » argv[0] = (char *)argv0; | 15 argv[0] = (char*)argv0; |
16 » » for (i=1; i<argc; i++) | 16 for (i = 1; i < argc; i++) |
17 » » » argv[i] = va_arg(ap, char *); | 17 argv[i] = va_arg(ap, char*); |
18 » » argv[i] = NULL; | 18 argv[i] = NULL; |
19 » » va_end(ap); | 19 va_end(ap); |
20 » » return execv(path, argv); | 20 return execv(path, argv); |
21 » } | 21 } |
22 } | 22 } |
OLD | NEW |