mirror of
https://git.suckless.org/9base
synced 2025-08-28 19:03:48 -07:00
initial import
This commit is contained in:
29
lib9/execl.c
Normal file
29
lib9/execl.c
Normal file
@@ -0,0 +1,29 @@
|
||||
#include <u.h>
|
||||
#include <libc.h>
|
||||
|
||||
int
|
||||
execl(char *prog, ...)
|
||||
{
|
||||
int i;
|
||||
va_list arg;
|
||||
char **argv;
|
||||
|
||||
va_start(arg, prog);
|
||||
for(i=0; va_arg(arg, char*) != nil; i++)
|
||||
;
|
||||
va_end(arg);
|
||||
|
||||
argv = malloc((i+1)*sizeof(char*));
|
||||
if(argv == nil)
|
||||
return -1;
|
||||
|
||||
va_start(arg, prog);
|
||||
for(i=0; (argv[i] = va_arg(arg, char*)) != nil; i++)
|
||||
;
|
||||
va_end(arg);
|
||||
|
||||
exec(prog, argv);
|
||||
free(argv);
|
||||
return -1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user