diff options
author | pgen <p.gen.progs@gmail.com> | 2019-01-07 21:29:29 +0100 |
---|---|---|
committer | pgen <p.gen.progs@gmail.com> | 2019-01-20 10:49:47 +0100 |
commit | 9df4a51a034b7ffa01f0a5dc0b859ed886cd6d54 (patch) | |
tree | 4966bb77e69bdecd64fbf8f0255242a39ec17c31 /smenu.c | |
parent | 2e47a6cec4c9c950a3fcf4e7f5c7a6a17af168b4 (diff) |
Make the argument of -n optional, 0 by default
Diffstat (limited to 'smenu.c')
-rw-r--r-- | smenu.c | 19 |
1 files changed, 11 insertions, 8 deletions
@@ -142,8 +142,8 @@ int quiet_timeout = 0; /* 1 when we want no message to be displayed. */ void short_usage(void) { - fprintf(stderr, "Usage: smenu [-h|-?] [-f config_file] [-n lines] "); - fprintf(stderr, "[-t [cols]] [-k] [-v] \\\n"); + fprintf(stderr, "Usage: smenu [-h|-?] [-f config_file] [-n [lines]] "); + fprintf(stderr, "[-t [cols]] [-k] [-v] \\\n"); fprintf(stderr, " [-s pattern] [-m message] [-w] [-d] [-M] [-c] [-l] "); fprintf(stderr, "[-r] [-b] \\\n"); fprintf(stderr, " [-a prefix:attr [prefix:attr]...] "); @@ -5131,7 +5131,7 @@ main(int argc, char * argv[]) /* """"""""""""""""""""""""""""" */ while ((opt = egetopt(argc, argv, "Vf:h?X:x:qdMba:i:e:S:I:E:A:Z:1:2:3:4:5:C:R:" - "kvclwrg%n:t%m:s:W:L:T%P%pN%U%FD:/:")) + "kvclwrg%n%t%m:s:W:L:T%P%pN%U%FD:/:")) != -1) { switch (opt) @@ -5151,13 +5151,16 @@ main(int argc, char * argv[]) break; case 'n': - if (eoptarg && *eoptarg != '-') - win.asked_max_lines = abs(atoi(eoptarg)); - else + if (eoptarg != NULL) { - TELL("Option requires an argument -- "); - short_usage(); + if (sscanf(eoptarg, "%ld", &(win.asked_max_lines)) != 1) + { + TELL("Argument must be numeric -- "); + short_usage(); + } } + else + win.asked_max_lines = 0; break; case 'd': |