X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=test%2Fpadview.c;h=0defee3430e0f2e07047ddebb042f6db2f4363ed;hb=6641601a9dd7f34deeaa978899b3730b27635afb;hp=868dbfeda2142abe051f7fa96df96e0b317afab8;hpb=1ddfa997c0965852dbdc738aa6d92c0cd0975f3b;p=ncurses.git diff --git a/test/padview.c b/test/padview.c index 868dbfed..0defee34 100644 --- a/test/padview.c +++ b/test/padview.c @@ -29,7 +29,7 @@ /* * clone of view.c, using pads * - * $Id: padview.c,v 1.19 2022/05/15 14:36:23 tom Exp $ + * $Id: padview.c,v 1.22 2022/12/04 00:40:11 tom Exp $ */ #include @@ -56,8 +56,6 @@ static int num_lines; static bool n_option = FALSE; #endif -static GCC_NORETURN void usage(void); - static void failed(const char *msg) { @@ -250,12 +248,13 @@ read_file(const char *filename) } static void -usage(void) +usage(int ok) { static const char *msg[] = { "Usage: view [options] file" ,"" + ,USAGE_COMMON ,"Options:" ," -c use color if terminal supports it" ," -i ignore INT, QUIT, TERM signals" @@ -271,8 +270,11 @@ usage(void) size_t n; for (n = 0; n < SIZEOF(msg); n++) fprintf(stderr, "%s\n", msg[n]); - ExitProgram(EXIT_FAILURE); + ExitProgram(ok ? EXIT_SUCCESS : EXIT_FAILURE); } +/* *INDENT-OFF* */ +VERSION_COMMON() +/* *INDENT-ON* */ int main(int argc, char *argv[]) @@ -302,6 +304,7 @@ main(int argc, char *argv[]) 0 }; + int ch; int i; int my_delay = 0; WINDOW *my_pad; @@ -315,8 +318,8 @@ main(int argc, char *argv[]) setlocale(LC_ALL, ""); - while ((i = getopt(argc, argv, "cinstT:")) != -1) { - switch (i) { + while ((ch = getopt(argc, argv, OPTS_COMMON "cinstT:")) != -1) { + switch (ch) { case 'c': try_color = TRUE; break; @@ -337,7 +340,7 @@ main(int argc, char *argv[]) char *next = 0; int tvalue = (int) strtol(optarg, &next, 0); if (tvalue < 0 || (next != 0 && *next != 0)) - usage(); + usage(FALSE); curses_trace((unsigned) tvalue); } break; @@ -345,12 +348,16 @@ main(int argc, char *argv[]) curses_trace(TRACE_CALLS); break; #endif + case OPTS_VERSION: + show_version(argv); + ExitProgram(EXIT_SUCCESS); default: - usage(); + usage(ch == OPTS_USAGE); + /* NOTREACHED */ } } if (optind + 1 != argc) - usage(); + usage(FALSE); InitAndCatch(initscr(), ignore_sigs ? SIG_IGN : finish); keypad(stdscr, TRUE); /* enable keyboard mapping */