/* userspec.c -- Parse a user and group string.
- Copyright (C) 1989, 1990, 1991, 1992, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1989, 1990, 1991, 1992, 1997, 1998 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
#ifdef __GNUC__
# define alloca __builtin_alloca
#else
-# ifdef HAVE_ALLOCA_H
+# if HAVE_ALLOCA_H
# include <alloca.h>
# else
# ifdef _AIX
if (u == NULL && g == NULL)
return "can not omit both user and group";
+#ifdef __DJGPP__
+ /* Pretend that we are the user U whose group is G. This makes
+ pwd and grp functions ``know'' about the UID and GID of these. */
+ if (u && !is_number (u))
+ setenv ("USER", u, 1);
+ if (g && !is_number (g))
+ setenv ("GROUP", g, 1);
+#endif
+
if (u != NULL)
{
pwd = getpwnam (u);