From deda2c0fd8689349fea2a900199a76ff7ecb319e Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:26 -0800 Subject: Import Upstream version 5d6 --- findexec.c | 125 ++++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 74 insertions(+), 51 deletions(-) (limited to 'findexec.c') diff --git a/findexec.c b/findexec.c index b6d648b..4992775 100644 --- a/findexec.c +++ b/findexec.c @@ -37,54 +37,72 @@ Wed Feb 21 23:06:35 1996 Aubrey Jaffer filename. A new copy of the complete path name of that file is returned. This new string may be disposed by free() later on. */ -#include -#include -#ifdef linux -# include -# include -# include /* for X_OK define */ -#endif -#ifdef __svr4__ -# include -# include -# include -# include /* for X_OK define */ -#else -# ifdef __sgi__ +#ifndef __MINGW32__ +# ifndef PLAN9 +# include +# include +# endif +# ifdef linux +# include +# include +# include /* for X_OK define */ +# endif +# ifdef __SVR4 # include # include # include # include /* for X_OK define */ # else -# include +# ifdef __sgi__ +# include +# include +# include +# include /* for X_OK define */ +# else +# ifdef PLAN9 +# include +# include +# define getcwd getwd +# define MAXPATHLEN 256 /* arbitrary? */ +# define X_OK AEXEC +# else +# include +# endif +# endif +# endif +# ifdef __amigaos__ +# include +# include +# include +# endif +# ifndef __STDC__ +# define const /**/ +# endif +# ifdef __FreeBSD__ +/* This might be same for 44bsd derived system. */ +# include +# include # endif -#endif -#ifdef __amigados__ -# include -# include -# include -#endif -#ifndef __STDC__ -# define const /**/ -#endif -#ifdef __FreeBSD__ +# ifdef __OpenBSD__ /* This might be same for 44bsd derived system. */ -# include -# include -#endif -#ifdef __alpha -# include -# include -# include -# include -#endif -#ifdef GO32 -# include -#endif - -#ifndef DEFAULT_PATH -# define DEFAULT_PATH ".:~/bin::/usr/local/bin:/usr/new:/usr/ucb:/usr/bin:/bin:/usr/hosts" -#endif +# include +# include +# include +# include +# endif +# ifdef __alpha +# include +# include +# include +# include +# endif +# ifdef GO32 +# include +# endif + +# ifndef DEFAULT_PATH +# define DEFAULT_PATH ".:~/bin::/usr/local/bin:/usr/new:/usr/ucb:/usr/bin:/bin:/usr/hosts" +# endif static char *copy_of(s) register const char *s; @@ -97,12 +115,12 @@ static char *copy_of(s) } /* ABSOLUTE_FILENAME_P(fname): True if fname is an absolute filename */ -#ifdef atarist -# define ABSOLUTE_FILENAME_P(fname) ((fname[0] == '/') || \ +# ifdef atarist +# define ABSOLUTE_FILENAME_P(fname) ((fname[0] == '/') || \ (fname[0] && (fname[1] == ':'))) -#else -# define ABSOLUTE_FILENAME_P(fname) (fname[0] == '/') -#endif /* atarist */ +# else +# define ABSOLUTE_FILENAME_P(fname) (fname[0] == '/') +# endif /* atarist */ char *dld_find_executable(name) const char *name; @@ -155,16 +173,21 @@ char *dld_find_executable(name) strcat(tbuf, name); if (access(tbuf, X_OK) == 0) { -#ifndef hpux -# ifndef ultrix +# ifndef hpux +# ifndef ultrix +# ifndef __MACH__ +# ifndef PLAN9 struct stat stat_temp; - if (stat(tbuf,&stat_temp)) continue; + if (stat(tbuf, &stat_temp)) continue; if (S_IFREG != (S_IFMT & stat_temp.st_mode)) continue; -# endif/* ultrix */ -#endif /* hpux */ +# endif /* PLAN9 */ +# endif /* __MACH__ */ +# endif/* ultrix */ +# endif /* hpux */ return copy_of(tbuf); } } return 0; } +#endif /* ndef MSDOS */ -- cgit v1.2.3