commit 9719a7e3d22abf02f8bf0dde4a079b7263f0f7e9
Author: Richard Ipsum <[email protected]>
AuthorDate: Thu Jul 4 22:49:29 2019 +0100
Commit: Michael Forney <[email protected]>
CommitDate: Mon Jul 8 14:07:08 2019 -0700
chgrp: parse gid if operand is not group name
[Michael Forney: Removed unnecessary `gid == -1` check, changed *argv
to argv[0] to match existing code]
diff --git a/chgrp.c b/chgrp.c
index 7ee3553..93d7577 100644
--- a/chgrp.c
+++ b/chgrp.c
@@ -67,13 +67,13 @@ main(int argc, char *argv[])
usage();
errno = 0;
- if (!(gr = getgrnam(argv[0]))) {
+ if ((gr = getgrnam(argv[0]))) {
+ gid = gr->gr_gid;
+ } else {
if (errno)
eprintf("getgrnam %s:", argv[0]);
- else
- eprintf("getgrnam %s: no such group\n", argv[0]);
+ gid = estrtonum(argv[0], 0, UINT_MAX);
}
- gid = gr->gr_gid;
for (argc--, argv++; *argv; argc--, argv++)
recurse(*argv, NULL, &r);