]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/ncurses.c
ncurses 6.2 - patch 20210612
[ncurses.git] / test / ncurses.c
index c813123acdfbb2aefb5ed5ea91eb710ef0ed0f78..fd1dcd3b35fe8f555be5b832e629c880074a8cbf 100644 (file)
@@ -1,5 +1,6 @@
 /****************************************************************************
- * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc.              *
+ * Copyright 2018-2020,2021 Thomas E. Dickey                                *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -40,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.520 2019/12/07 19:04:52 tom Exp $
+$Id: ncurses.c,v 1.526 2021/05/22 19:45:57 tom Exp $
 
 ***************************************************************************/
 
@@ -165,7 +166,7 @@ static RGB_DATA *all_colors;
 #endif
 
 static void main_menu(bool);
-static void failed(const char *s) GCC_NORETURN;
+static GCC_NORETURN void failed(const char *s);
 
 static void
 failed(const char *s)
@@ -489,7 +490,7 @@ ShellOut(bool message)
        addstr("Shelling out...");
     def_prog_mode();
     endwin();
-#ifdef _WIN32
+#ifdef _NC_WINDOWS
     system("cmd.exe");
 #else
     IGNORE_RC(system("sh"));
@@ -854,7 +855,7 @@ wgetch_test(unsigned level, WINDOW *win, int delay)
            setup_getch(win, flags);
            wgetch_help(win, flags);
        } else if (c == 'g') {
-           waddstr(win, "getstr test: ");
+           waddstr(win, "wgetnstr test: ");
            echo();
            c = wgetnstr(win, buf, sizeof(buf) - 1);
            noecho();
@@ -1112,7 +1113,7 @@ wget_wch_test(unsigned level, WINDOW *win, int delay)
            setup_getch(win, flags);
            wgetch_help(win, flags);
        } else if (c == 'g') {
-           waddstr(win, "getstr test: ");
+           waddstr(win, "wgetn_str test: ");
            echo();
            code = wgetn_wstr(win, wint_buf, BUFSIZ - 1);
            noecho();
@@ -5530,7 +5531,7 @@ panner_legend(int line)
        "Number repeats.  Toggle legend:? filler:a timer:t scrollmark:s."
     };
     int n = ((int) SIZEOF(legend) - (LINES - line));
-    if (n >= 0) {
+    if (n >= 0 && n < (int) SIZEOF(legend)) {
        if (move(line, 0) != ERR) {
            if (show_panner_legend)
                printw("%s", legend[n]);
@@ -6231,7 +6232,7 @@ tracetrace(unsigned tlevel)
     }
     _nc_SPRINTF(buf, _nc_SLIMIT(need) "0x%02x = {", tlevel);
     if (tlevel == 0) {
-       _nc_STRCAT(buf, t_tbl[0].name, need);
+       _nc_STRCAT(buf, t_tbl[0].name ? t_tbl[0].name : "", need);
        _nc_STRCAT(buf, ", ", need);
     } else {
        for (n = 1; t_tbl[n].name != 0; n++)
@@ -7329,7 +7330,7 @@ overlap_test(bool recur GCC_UNUSED)
     delwin(win2);
     delwin(win1);
     erase();
-    exit_curses();
+    stop_curses();
     return OK;
 }
 
@@ -7529,7 +7530,7 @@ x_overlap_test(bool recur GCC_UNUSED)
     delwin(win2);
     delwin(win1);
     erase();
-    exit_curses();
+    stop_curses();
     return OK;
 }
 #endif /* USE_WIDEC_SUPPORT */
@@ -7617,9 +7618,13 @@ settings_test(bool recur GCC_UNUSED)
 #if HAVE_COLOR_CONTENT
     show_boolean_setting("can_change_color", can_change_color());
 #endif
+    show_setting_name("LINES");
+    printw("%d\n", LINES);
+    show_setting_name("COLS");
+    printw("%d\n", COLS);
     Pause();
     erase();
-    exit_curses();
+    stop_curses();
     return OK;
 }
 
@@ -7658,7 +7663,7 @@ usage(void)
 #if USE_LIBPANEL
        ,"  -s msec  specify nominal time for panel-demo (default: 1, to hold)"
 #endif
-#if defined(NCURSES_VERSION_PATCH) && (NCURSES_VERSION_PATCH >= 20120714) && !defined(_WIN32)
+#if defined(NCURSES_VERSION_PATCH) && (NCURSES_VERSION_PATCH >= 20120714) && !defined(_NC_WINDOWS)
        ,"  -T       call use_tioctl(TRUE) to allow SIGWINCH to override environment"
 #endif
 #ifdef TRACE
@@ -7785,7 +7790,6 @@ main_menu(bool top)
     int (*doit) (bool);
     char command;
     unsigned n;
-
     do {
        printf("This is the ncurses main menu (uppercase for wide-characters)\n");
        for (n = 0; n < SIZEOF(cmds); ++n) {
@@ -7961,7 +7965,7 @@ main(int argc, char *argv[])
            nap_msec = (int) atol(optarg);
            break;
 #endif
-#if defined(NCURSES_VERSION_PATCH) && (NCURSES_VERSION_PATCH >= 20120714) && !defined(_WIN32)
+#if defined(NCURSES_VERSION_PATCH) && (NCURSES_VERSION_PATCH >= 20120714) && !defined(_NC_WINDOWS)
        case 'T':
            use_tioctl(TRUE);
            break;