From 6b8b6deecb00631ea5f4bba04c739b9a19d29a4e Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Tue, 10 Mar 1998 22:49:04 +0000 Subject: [PATCH] (parse_user_spec) [__DJGPP__]: Make function know about any arbitrary user and group by pretending to be the user and to belong to the group specified in `spec_arg' argument. --- lib/userspec.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/userspec.c b/lib/userspec.c index 2ceb76321e..bf51778d74 100644 --- a/lib/userspec.c +++ b/lib/userspec.c @@ -153,6 +153,15 @@ parse_user_spec (spec_arg, uid, gid, username_arg, groupname_arg) 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); -- 2.30.2