/* spawnvp, spawnlp: try to execute a program on the default system execution path. WARNING: the current directory is always searched first. Written by Eric R. Smith and placed in the public domain. */ #include #include #include #include #include __EXTERN char * findfile __PROTO((char *, char *, char **)); static char *extensions[] = { "ttp", "prg", "tos", NULL }; int spawnvp(mode, name, argv) int mode; char *name; char **argv; { char *execname; execname = findfile(name, getenv("PATH"), extensions); if (!execname) { errno = ENOENT; return -1; /* file not found */ } return spawnve(mode, execname, argv, (char **)NULL); } #ifdef __STDC__ int spawnlp(int mode, char *name, ...) #else int spawnlp(mode, name) int mode; char *name; #endif { va_list args; int r; va_start(args, name); r = spawnvp(mode, name, (char **)args); va_end(args); return r; }