summaryrefslogtreecommitdiff
path: root/exec.c
diff options
context:
space:
mode:
authorToby Goodwin <tgoodwin@cygnus.co.uk>1997-07-07 00:00:01 +0100
committerToby Goodwin <toby@paccrat.org>2015-05-16 21:22:09 +0100
commit671e1e2d1599aa8c5f1010b3fe75c151c56a7403 (patch)
tree906ba5d55d6993f59d7bb1def63d494bafd38728 /exec.c
parenta076248389c82276e079756bee26c011b03f70f2 (diff)
beta: rc-1.5b2
Diffstat (limited to 'exec.c')
-rw-r--r--exec.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/exec.c b/exec.c
index 8ed8ead..6a0082e 100644
--- a/exec.c
+++ b/exec.c
@@ -12,7 +12,8 @@
extern void exec(List *s, bool parent) {
char **av, **ev = NULL;
- int pid, stat;
+ int stat;
+ pid_t pid;
builtin_t *b;
char *path = NULL;
bool didfork, returning, saw_exec, saw_builtin;
@@ -91,16 +92,17 @@ extern void exec(List *s, bool parent) {
return;
rc_exit(getstatus());
}
-#ifdef NOEXECVE
- my_execve(path, (const char **) av, (const char **) ev); /* bogus, huh? */
+#if HASH_BANG
+ execve(path, (char * const *) av, (char * const *) ev);
#else
- execve(path, (const char **) av, (const char **) ev);
+ my_execve(path, (char * const *) av, (char * const *) ev); /* bogus, huh? */
#endif
+
#ifdef DEFAULTINTERP
if (errno == ENOEXEC) {
*av = path;
*--av = DEFAULTINTERP;
- execve(*av, (const char **) av, (const char **) ev);
+ execve(*av, (char * const *) av, (char * const *) ev);
}
#endif
uerror(*av);