mirror of
https://github.com/LIV2/libnix.git
synced 2025-12-06 00:23:08 +00:00
add execlp
This commit is contained in:
parent
201b9bc272
commit
f29b8c4ee8
25
sources/nix20/extra/execlp.c
Normal file
25
sources/nix20/extra/execlp.c
Normal file
@ -0,0 +1,25 @@
|
||||
#include <stdarg.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int execlp(const char * file, const char *arg, ...) {
|
||||
va_list v;
|
||||
|
||||
// count
|
||||
va_start(v, arg);
|
||||
int argc = 1;
|
||||
while (va_arg(v, const char *)) {
|
||||
++argc;
|
||||
}
|
||||
va_end(v);
|
||||
|
||||
const char * argv[argc + 1];
|
||||
argv[0] = arg;
|
||||
|
||||
va_start(v, arg);
|
||||
for (int i = 1; i < argc; ++i) {
|
||||
argv[i] = va_arg(v, const char *);
|
||||
}
|
||||
va_end(v);
|
||||
|
||||
return execvp(file, argv);
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user