diff options
author | Sami Kerola | 2014-09-06 00:54:17 +0200 |
---|---|---|
committer | Sami Kerola | 2014-09-19 20:31:13 +0200 |
commit | 80ca9e2039fda0c5002d3729eab40d45ec23058c (patch) | |
tree | 4c1c667035fb49414fbc80457336734e2222388f /sys-utils/renice.c | |
parent | renice: avoid having same lines of code twice (diff) | |
download | kernel-qcow2-util-linux-80ca9e2039fda0c5002d3729eab40d45ec23058c.tar.gz kernel-qcow2-util-linux-80ca9e2039fda0c5002d3729eab40d45ec23058c.tar.xz kernel-qcow2-util-linux-80ca9e2039fda0c5002d3729eab40d45ec23058c.zip |
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>
Diffstat (limited to 'sys-utils/renice.c')
-rw-r--r-- | sys-utils/renice.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys-utils/renice.c b/sys-utils/renice.c index d83fc4a17..a123ed15f 100644 --- a/sys-utils/renice.c +++ b/sys-utils/renice.c @@ -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; } - |