* exec.cc: Include pinfo.h.

* winf.h: Move definitions of _P_PATH_TYPE_EXEC and _P_MODE from here...
	* pinfo.h: ...to here.
	(_P_PATH_TYPE_EXEC): Redefine to be bigger than _P_SYSTEM.
	(_P_MODE): Redefine so as not to mask out _P_SYSTEM.
	* spawn.cc (spawnlp): Add _P_PATH_TYPE_EXEC flag in call to spawnve.
	(spawnlpe): Ditto.
	(spawnvp): Ditto.
This commit is contained in:
Corinna Vinschen
2011-01-20 11:09:21 +00:00
parent 9b68968b21
commit 2aba945c95
5 changed files with 30 additions and 16 deletions

View File

@ -20,16 +20,6 @@ details. */
#define MAXWINCMDLEN 32767
#define LINE_BUF_CHUNK (MAX_PATH * 2)
/* Add this flag in calls to spawn_guts if the calling function is one of
'p' type functions: execlp, execvp, spawnlp, spawnvp. Per POSIX, only
these p-type functions fall back to call /bin/sh if the file is not a
binary. The setting of _P_PATH_TYPE_EXEC is used as a bool value in
av::fixup to decide if the file should be evaluated as a script, or if
ENOEXEC should be returned. */
#define _P_PATH_TYPE_EXEC 0x100
/* Helper macro to mask actual mode and drop additional flags defined above. */
#define _P_MODE(x) ((x) & 0xff)
class av
{
char **argv;