summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorнаб <nabijaczleweli@nabijaczleweli.xyz>2021-10-04 15:08:55 +0200
committerBenBE <BenBE@geshi.org>2021-10-24 04:39:58 +0200
commitdfa62506b7b412eeaea8efe1a5cb68e34fbfa88c (patch)
tree0b74defec6a07f6554f61387d6d17f2b8df8a58a
parent731b4003a2d764dadcd0243ce86e4e4cdc23dd5f (diff)
Allow -u UID
Defaults to username, of course, like all POSIX utilities do
-rw-r--r--CommandLine.c9
-rw-r--r--htop.1.in2
2 files changed, 8 insertions, 3 deletions
diff --git a/CommandLine.c b/CommandLine.c
index a352e4e3..c48572c2 100644
--- a/CommandLine.c
+++ b/CommandLine.c
@@ -11,6 +11,7 @@ in the source distribution for its full text.
#include "CommandLine.h"
#include <assert.h>
+#include <ctype.h>
#include <getopt.h>
#include <locale.h>
#include <stdbool.h>
@@ -178,8 +179,12 @@ static CommandLineSettings parseArguments(const char* program, int argc, char**
if (!username) {
flags.userId = geteuid();
} else if (!Action_setUserOnly(username, &(flags.userId))) {
- fprintf(stderr, "Error: invalid user \"%s\".\n", username);
- exit(1);
+ for (const char *itr = username; *itr; ++itr)
+ if (!isdigit((unsigned char)*itr)) {
+ fprintf(stderr, "Error: invalid user \"%s\".\n", username);
+ exit(1);
+ }
+ flags.userId = atol(username);
}
break;
}
diff --git a/htop.1.in b/htop.1.in
index 7371efa0..702f7c23 100644
--- a/htop.1.in
+++ b/htop.1.in
@@ -62,7 +62,7 @@ Show only the given PIDs
Sort by this column (use \-\-sort\-key help for a column list).
This will force a list view unless you specify -t at the same time.
.TP
-\fB\-u \-\-user=USERNAME\fR
+\fB\-u \-\-user=USERNAME|UID\fR
Show only the processes of a given user
.TP
\fB\-U \-\-no-unicode\fR

© 2014-2024 Faster IT GmbH | imprint | privacy policy