summaryrefslogtreecommitdiffstats
path: root/sys-utils/renice.c
diff options
context:
space:
mode:
authorSami Kerola2014-09-06 00:54:17 +0200
committerSami Kerola2014-09-19 20:31:13 +0200
commit80ca9e2039fda0c5002d3729eab40d45ec23058c (patch)
tree4c1c667035fb49414fbc80457336734e2222388f /sys-utils/renice.c
parentrenice: avoid having same lines of code twice (diff)
downloadkernel-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.c10
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;
}
-