Skip to content
Snippets Groups Projects
Commit 9790289a authored by Jeremy Soller's avatar Jeremy Soller
Browse files

Add execlp

parent 3cc215ca
No related branches found
No related tags found
No related merge requests found
Pipeline #1876 passed with warnings
......@@ -9,6 +9,7 @@ extern "C" {
int execl(const char *path, const char* argv0, ...);
int execle(const char *path, const char* argv0, ...);
int execlp(const char *file, const char* argv0, ...);
#ifdef __cplusplus
} // extern "C"
......
......@@ -47,3 +47,26 @@ int execle(const char *path, const char* argv0, ...)
return execve(path, argv, envp);
}
}
int execvp(const char *file, char *const *argv);
int execlp(const char *file, const char* argv0, ...)
{
int argc;
va_list ap;
va_start(ap, argv0);
for (argc = 1; va_arg(ap, const char*); argc++);
va_end(ap);
{
int i;
char *argv[argc+1];
va_start(ap, argv0);
argv[0] = (char *)argv0;
for (i = 1; i < argc; i++) {
argv[i] = va_arg(ap, char *);
}
argv[i] = NULL;
va_end(ap);
return execvp(file, argv);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment