X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fgetusershell.c;h=019ec55cf911aa415993a846e29433fb3aed8a24;hb=609f9cb77296a39e8776d420091a66f2ea5acb72;hp=93d5e438ef58667b820d71a55f655f95710920b5;hpb=3e391882aa38108e1227fa2734899aaeb6450800;p=gnulib.git diff --git a/lib/getusershell.c b/lib/getusershell.c index 93d5e438e..019ec55cf 100644 --- a/lib/getusershell.c +++ b/lib/getusershell.c @@ -1,5 +1,5 @@ /* getusershell.c -- Return names of valid user shells. - Copyright (C) 1991, 1997, 2000 Free Software Foundation, Inc. + Copyright (C) 1991, 1997, 2000, 2001 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,12 +22,21 @@ #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 +#if HAVE_STDLIB_H +# include +#endif #include +#include "unlocked-io.h" #include "xalloc.h" #if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII)) @@ -40,9 +49,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 };