/* exec.c:
*
****************************************************************
* Copyright (C) 2003 Tom Lord
*
* See the file "COPYING" for further information about
* the copyright and warranty status of this work.
*/
#include "hackerlab/os/unistd.h"
#include "hackerlab/mem/alloc-limits.h"
#include "hackerlab/fs/file-names.h"
#include "hackerlab/vu/safe.h"
#include "libarch/my.h"
#include "libarch/exec.h"
int
arch_util_execvp (t_uchar * prog, t_uchar ** argv)
{
t_uchar ** path = 0;
int answer;
path = arch_my_util_path ();
if (!path)
answer = execvp (prog, (char **)argv);
else
{
t_uchar * executable = 0;
executable = path_find_executable (0, path, prog);
if (!executable)
{
safe_printfmt (2, "arch: unable to locate %s on the path in ~/.arch-params/path\n", prog);
exit (2);
}
answer = execv (executable, (char **)argv);
lim_free (0, executable);
}
free_path (0, path);
return answer;
}
/* tag: Tom Lord Fri Jun 27 21:13:41 2003 (exec.c)
*/
syntax highlighted by Code2HTML, v. 0.9.1