diff options
author | Jim Meyering <jim@meyering.net> | 2000-12-16 22:25:44 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2000-12-16 22:25:44 +0000 |
commit | 2464a2cd9dbafc6b14fd0e9a5e76eacc39c5bef7 (patch) | |
tree | 311cf582096cf1b38c11a81f01bc7e13cdeab4f6 /lib | |
parent | 96e6715ebeb00b1528b3f0b85eeeeb41212eae94 (diff) | |
download | coreutils-2464a2cd9dbafc6b14fd0e9a5e76eacc39c5bef7.tar.xz |
[!SHELLS_FILE && __DJGPP__]: Define
SHELLS_FILE to a file name that's useful on djgpp systems.
Include stdlib.h.
(ADDITIONAL_DEFAULT_SHELLS): Define.
(default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
Based mostly on a patch from Prashant TR.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/getusershell.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/getusershell.c b/lib/getusershell.c index 93d5e438e..4816f968b 100644 --- a/lib/getusershell.c +++ b/lib/getusershell.c @@ -22,11 +22,19 @@ #endif #ifndef SHELLS_FILE +# ifndef __DJGPP__ /* File containing a list of nonrestricted shells, one per line. */ -# define SHELLS_FILE "/etc/shells" +# define SHELLS_FILE "/etc/shells" +# else +/* This is a horrible kludge. Isn't there a better way? */ +# define SHELLS_FILE "/dev/env/DJDIR/etc/shells" +# endif #endif #include <stdio.h> +#if HAVE_STDLIB_H +# include <stdlib.h> +#endif #include <ctype.h> #include "xalloc.h" @@ -40,9 +48,17 @@ static int readname (); +#if ! defined ADDITIONAL_DEFAULT_SHELLS && defined __MSDOS__ +# define ADDITIONAL_DEFAULT_SHELLS \ + "c:/dos/command.com", "c:/windows/command.com", "c:/command.com", +#else +# define ADDITIONAL_DEFAULT_SHELLS /* empty */ +#endif + /* List of shells to use if the shells file is missing. */ static char const* const default_shells[] = { + ADDITIONAL_DEFAULT_SHELLS "/bin/sh", "/bin/csh", "/usr/bin/sh", "/usr/bin/csh", NULL }; |