summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2022-10-20 18:32:24 +0200
committerLouis Burda <quent.burda@gmail.com>2022-10-20 18:32:24 +0200
commit786a3e1ae3bc6aa2490dd2e08905641468b6804e (patch)
tree39b013e67b5f3409326676de88bcebbdffdb9a2c
parent2010d506cd29243402de2904da958522c5dfd310 (diff)
downloadvkill-786a3e1ae3bc6aa2490dd2e08905641468b6804e.tar.gz
vkill-786a3e1ae3bc6aa2490dd2e08905641468b6804e.zip
Add help option
-rw-r--r--vkill.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/vkill.c b/vkill.c
index f9eac51..641a069 100644
--- a/vkill.c
+++ b/vkill.c
@@ -16,6 +16,7 @@ static const char *strcasestr(const char *haystack, const char *needle);
static char *readcmd(pid_t pid);
static void killprompt(pid_t pid);
+static const char usage[] = "vkill [-h] [-SIG] CMD";
static int signum = SIGTERM;
const char *
@@ -101,19 +102,23 @@ main(int argc, const char **argv)
query = NULL;
for (arg = &argv[1]; *arg; arg++) {
- if (**arg == '-') {
+ if (!strcmp(*arg, "-h")) {
+ printf("Usage: %s\n", usage);
+ return 0;
+ } else if (**arg == '-') {
signum = strtoul(*arg+1, &end, 10);
if (end && *end) errx(1, "Invalid signum");
- } else if (query) {
- errx(1, "Multiple queries");
- } else {
+ } else if (!query) {
query = *arg;
+ } else {
+ fprintf(stderr, "Usage: %s\n", usage);
+ return 1;
}
}
if (!query) {
- printf("Usage: vkill [-SIGNUM] CMD\n");
- exit(1);
+ fprintf(stderr, "Usage: %s\n", usage);
+ return 1;
}
cpid = getpid();