renice: fix numeric uid argument parsing

The following was inconflict with what usage() tells are valid option
arguments.

$ renice 1 -u 1000
renice: unknown user 1000
$ id
uid=1000(kerolasa) ...

Reviewed-by: Karel Zak <kzak@redhat.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This commit is contained in:
Sami Kerola 2014-09-05 23:54:17 +01:00
parent 00b490f002
commit 80ca9e2039
1 changed files with 6 additions and 4 deletions

View File

@ -160,14 +160,17 @@ int main(int argc, char **argv)
continue;
}
if (which == PRIO_USER) {
register struct passwd *pwd = getpwnam(*argv);
struct passwd *pwd = getpwnam(*argv);
if (pwd == NULL) {
if (pwd != NULL)
who = pwd->pw_uid;
else
who = strtol(*argv, &endptr, 10);
if (who < 0 || *endptr) {
warnx(_("unknown user %s"), *argv);
errs = 1;
continue;
}
who = pwd->pw_uid;
} else {
who = strtol(*argv, &endptr, 10);
if (who < 0 || *endptr) {
@ -180,4 +183,3 @@ int main(int argc, char **argv)
}
return errs != 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}