]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/demo_tabs.c
ncurses 6.3 - patch 20221203
[ncurses.git] / test / demo_tabs.c
index 2fa79287694b4e0a0bfeaccae4e3f872a1aca045..16c1ad57cfd8d5ee624c95bf9b25f30008d7ea7e 100644 (file)
@@ -29,7 +29,7 @@
 /*
  * Author: Thomas E. Dickey
  *
- * $Id: demo_tabs.c,v 1.7 2022/08/13 21:02:25 tom Exp $
+ * $Id: demo_tabs.c,v 1.10 2022/12/04 00:40:11 tom Exp $
  *
  * A simple demo of tabs in curses.
  */
 #include <test.priv.h>
 
 static void
-usage(void)
+usage(int ok)
 {
     static const char *msg[] =
     {
-       "Usage: demo_tabs [options]",
-       "",
-       "Print a grid to test tab-stops with the curses interface",
-       "",
-       "Options:",
-       " -l COUNT total number of lines to show",
-       " -t NUM   set TABSIZE variable to the given value",
+       "Usage: demo_tabs [options]"
+       ,""
+       ,"Print a grid to test tab-stops with the curses interface"
+       ,""
+       ,USAGE_COMMON
+       ,"Options:"
+       ," -l COUNT total number of lines to show"
+       ," -t NUM   set TABSIZE variable to the given value"
     };
     unsigned 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[])
 {
     int tabstop;
-    int n, col, row, step;
+    int ch, col, row, step;
     int line_limit = -1;
     int curses_stops = -1;
 
-    while ((n = getopt(argc, argv, "l:t:")) != -1) {
-       switch (n) {
+    while ((ch = getopt(argc, argv, OPTS_COMMON "l:t:")) != -1) {
+       switch (ch) {
        case 'l':
            line_limit = atoi(optarg);
            break;
        case 't':
            curses_stops = atoi(optarg);
            break;
+       case OPTS_VERSION:
+           show_version(argv);
+           ExitProgram(EXIT_SUCCESS);
        default:
-           usage();
-           break;
+           usage(ch == OPTS_USAGE);
+           /* NOTREACHED */
        }
     }
 
@@ -93,10 +100,10 @@ main(int argc, char *argv[])
        move(row, 0);
        for (col = step = 0; col < COLS - 1; ++col) {
            if (row == 0) {
-               chtype ch = '-';
+               chtype ct = '-';
                if ((col % tabstop) == 0)
-                   ch = '+';
-               addch(ch);
+                   ct = '+';
+               addch(ct);
            } else if (col + 1 < row) {
                addch('*');
            } else {