diff options
author | Jim Meyering <jim@meyering.net> | 1998-03-10 22:49:04 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 1998-03-10 22:49:04 +0000 |
commit | 7f0867df009907e3a0f5fdbbb634aafb50ef809b (patch) | |
tree | c62022fd613f1b315c9138ad9b0a59b34f0ddd05 /lib | |
parent | 6354d07ea01c6a47f72ddea990383533bb2bff2d (diff) | |
download | coreutils-7f0867df009907e3a0f5fdbbb634aafb50ef809b.tar.xz |
(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.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/userspec.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/userspec.c b/lib/userspec.c index 2ceb76321..bf51778d7 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); |