]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/ncurses.c
ncurses 6.3 - patch 20221203
[ncurses.git] / test / ncurses.c
index b9d1831d8c169678f0909a57d47a837fb4f7c76a..afa631ad5a3943ce008a554182c4e4d7679abe32 100644 (file)
@@ -41,7 +41,7 @@ AUTHOR
    Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
            Thomas E. Dickey (beginning revision 1.27 in 1996).
 
-$Id: ncurses.c,v 1.529 2022/11/26 23:16:04 tom Exp $
+$Id: ncurses.c,v 1.532 2022/12/04 00:40:11 tom Exp $
 
 ***************************************************************************/
 
@@ -7639,48 +7639,49 @@ settings_test(bool recur GCC_UNUSED)
  ****************************************************************************/
 
 static void
-usage(void)
+usage(int ok)
 {
     static const char *const tbl[] =
     {
        "Usage: ncurses [options]"
        ,""
+       ,USAGE_COMMON
        ,"Options:"
 #ifdef NCURSES_VERSION
-       ,"  -a f,b   set default-colors (assumed white-on-black)"
-       ,"  -d       use default-colors if terminal supports them"
+       ," -a f,b   set default-colors (assumed white-on-black)"
+       ," -d       use default-colors if terminal supports them"
 #endif
 #if HAVE_USE_ENV
-       ,"  -E       call use_env(FALSE) to ignore $LINES and $COLUMNS"
+       ," -E       call use_env(FALSE) to ignore $LINES and $COLUMNS"
 #endif
 #if USE_SOFTKEYS
-       ,"  -e fmt   specify format for soft-keys test (e)"
+       ," -e fmt   specify format for soft-keys test (e)"
 #endif
 #if HAVE_RIPOFFLINE
-       ,"  -f       rip-off footer line (can repeat)"
-       ,"  -h       rip-off header line (can repeat)"
+       ," -F       rip-off footer line (can repeat)"
+       ," -H       rip-off header line (can repeat)"
 #endif
-       ,"  -m       do not use colors"
+       ," -m       do not use colors"
 #if HAVE_COLOR_CONTENT
-       ,"  -p file  rgb values to use in 'd' rather than ncurses's builtin"
+       ," -p file  rgb values to use in 'd' rather than ncurses's builtin"
 #endif
 #if USE_LIBPANEL
-       ,"  -s msec  specify nominal time for panel-demo (default: 1, to hold)"
+       ," -s msec  specify nominal time for panel-demo (default: 1, to hold)"
 #endif
 #if defined(NCURSES_VERSION_PATCH) && (NCURSES_VERSION_PATCH >= 20120714) && !defined(_NC_WINDOWS)
-       ,"  -T       call use_tioctl(TRUE) to allow SIGWINCH to override environment"
+       ," -T       call use_tioctl(TRUE) to allow SIGWINCH to override environment"
 #endif
 #ifdef TRACE
-       ,"  -t mask  specify default trace-level (may toggle with ^T)"
+       ," -t mask  specify default trace-level (may toggle with ^T)"
 #endif
 #if HAVE_COLOR_CONTENT
-       ,"  -x       use xterm-compatible control for reading color palette"
+       ," -x       use xterm-compatible control for reading color palette"
 #endif
     };
     size_t n;
     for (n = 0; n < SIZEOF(tbl); n++)
        fprintf(stderr, "%s\n", tbl[n]);
-    ExitProgram(EXIT_FAILURE);
+    ExitProgram(ok ? EXIT_SUCCESS : EXIT_FAILURE);
 }
 
 static void
@@ -7887,11 +7888,14 @@ main_menu(bool top)
 /*+-------------------------------------------------------------------------
        main(argc,argv)
 --------------------------------------------------------------------------*/
+/* *INDENT-OFF* */
+VERSION_COMMON()
+/* *INDENT-ON* */
 
 int
 main(int argc, char *argv[])
 {
-    int c;
+    int ch;
     int my_e_param = 1;
 #ifdef NCURSES_VERSION_PATCH
 #if HAVE_USE_DEFAULT_COLORS
@@ -7911,8 +7915,8 @@ main(int argc, char *argv[])
 
     setlocale(LC_ALL, "");
 
-    while ((c = getopt(argc, argv, "a:dEe:fhmp:s:Tt:x")) != -1) {
-       switch (c) {
+    while ((ch = getopt(argc, argv, OPTS_COMMON "a:dEe:FHmp:s:Tt:x")) != -1) {
+       switch (ch) {
 #ifdef NCURSES_VERSION_PATCH
 #if HAVE_USE_DEFAULT_COLORS
 #if HAVE_ASSUME_DEFAULT_COLORS
@@ -7942,17 +7946,17 @@ main(int argc, char *argv[])
            my_e_param = atoi(optarg);
 #ifdef NCURSES_VERSION
            if (my_e_param > 3) /* allow extended layouts */
-               usage();
+               usage(FALSE);
 #else
            if (my_e_param > 1)
-               usage();
+               usage(FALSE);
 #endif
            break;
 #if HAVE_RIPOFFLINE
-       case 'f':
+       case 'F':
            ripoffline(-1, rip_footer);
            break;
-       case 'h':
+       case 'H':
            ripoffline(1, rip_header);
            break;
 #endif /* HAVE_RIPOFFLINE */
@@ -7984,8 +7988,12 @@ main(int argc, char *argv[])
            xterm_colors = TRUE;
            break;
 #endif
+       case OPTS_VERSION:
+           show_version(argv);
+           ExitProgram(EXIT_SUCCESS);
        default:
-           usage();
+           usage(ch == OPTS_USAGE);
+           /* NOTREACHED */
        }
     }