diff options
author | Sadrul Habib Chowdhury <sadrul@users.sourceforge.net> | 2010-02-15 21:47:39 -0500 |
---|---|---|
committer | Sadrul Habib Chowdhury <sadrul@users.sourceforge.net> | 2010-02-15 21:47:39 -0500 |
commit | 97059b7ad521cf796daee07397c658d9716dd1e7 (patch) | |
tree | a5812bce9590c6d5e52fbf93b4724b0344f83a77 | |
parent | 9756ae6fb21fb6421e543173115059d36358c692 (diff) | |
download | screen-97059b7ad521cf796daee07397c658d9716dd1e7.tar.gz |
Fix compilation on systems where execvpe is defined.
-rw-r--r-- | src/acconfig.h | 5 | ||||
-rw-r--r-- | src/configure.in | 6 | ||||
-rw-r--r-- | src/extern.h | 2 | ||||
-rw-r--r-- | src/window.c | 2 |
4 files changed, 15 insertions, 0 deletions
diff --git a/src/acconfig.h b/src/acconfig.h index ffedbbc..2e46985 100644 --- a/src/acconfig.h +++ b/src/acconfig.h @@ -445,6 +445,11 @@ #undef HAVE_SETEUID /* + * execvpe is now defined in some systems. + */ +#undef HAVE_EXECVPE + +/* * If you want the "time" command to display the current load average * define LOADAV. Maybe you must install screen with the needed * privileges to read /dev/kmem. diff --git a/src/configure.in b/src/configure.in index 8c5762c..bd29de2 100644 --- a/src/configure.in +++ b/src/configure.in @@ -284,6 +284,12 @@ seteuid(0); #endif ], AC_DEFINE(HAVE_SETEUID)) +dnl execvpe +AC_CHECKING(execvpe) +AC_TRY_LINK(,[ + execvpe(0, 0, 0); +], AC_DEFINE(HAVE_EXECVPE)) + dnl dnl **** select() **** dnl diff --git a/src/extern.h b/src/extern.h index 315daab..38a8d6e 100644 --- a/src/extern.h +++ b/src/extern.h @@ -156,7 +156,9 @@ extern void CloseDevice __P((struct win *)); #ifdef ZMODEM extern void zmodem_abort __P((struct win *, struct display *)); #endif +#ifndef HAVE_EXECVPE extern void execvpe __P((char *, char **, char **)); +#endif /* utmp.c */ #ifdef UTMPOK diff --git a/src/window.c b/src/window.c index 1826b33..20bceac 100644 --- a/src/window.c +++ b/src/window.c @@ -1449,6 +1449,7 @@ char **args, *ttyn; return pid; } +#ifndef HAVE_EXECVPE void execvpe(prog, args, env) char *prog, **args, **env; @@ -1494,6 +1495,7 @@ char *prog, **args, **env; if (eaccess) errno = EACCES; } +#endif #ifdef PSEUDOS |