diff options
Diffstat (limited to 'test/demo_menus.c')
| -rw-r--r-- | test/demo_menus.c | 101 |
1 files changed, 50 insertions, 51 deletions
diff --git a/test/demo_menus.c b/test/demo_menus.c index 7b0bf30316e5..a02d69c54860 100644 --- a/test/demo_menus.c +++ b/test/demo_menus.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright 2019-2022,2023 Thomas E. Dickey * + * Copyright 2019-2024,2025 Thomas E. Dickey * * Copyright 2003-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,7 +27,7 @@ * authorization. * ****************************************************************************/ /* - * $Id: demo_menus.c,v 1.80 2023/05/27 20:13:10 tom Exp $ + * $Id: demo_menus.c,v 1.87 2025/07/05 15:21:56 tom Exp $ * * Demonstrate a variety of functions from the menu library. * Thomas Dickey - 2005/4/9 @@ -185,7 +185,7 @@ menu_virtualize(int c) } static int -menu_getc(MENU * m) +menu_getc(NCURSES_CONST MENU * m) { return wGetchar(menu_win(m)); } @@ -214,7 +214,7 @@ static void my_menu_init(MENU * menu) { Trace(("called MenuHook my_menu_init")); - mvwprintw(status, 2, 0, "menu_init %p", (void *) menu); + mvwprintw(status, 2, 0, "menu_init %p", (const void *) menu); wclrtoeol(status); wrefresh(status); } @@ -223,7 +223,7 @@ static void my_menu_term(MENU * menu) { Trace(("called MenuHook my_menu_term")); - mvwprintw(status, 2, 0, "menu_term %p", (void *) menu); + mvwprintw(status, 2, 0, "menu_term %p", (const void *) menu); wclrtoeol(status); wrefresh(status); } @@ -231,7 +231,7 @@ my_menu_term(MENU * menu) static void my_item_init(MENU * menu) { - ITEM *item = current_item(menu); + NCURSES_CONST ITEM *item = current_item(menu); const char *name = item_name(item); Trace(("called MenuHook my_item_init (%s)", name)); @@ -243,7 +243,7 @@ my_item_init(MENU * menu) static void my_item_term(MENU * menu) { - ITEM *item = current_item(menu); + NCURSES_CONST ITEM *item = current_item(menu); const char *name = item_name(item); Trace(("called MenuHook my_item_term (%s)", name)); @@ -311,9 +311,9 @@ static void menu_destroy(MENU * m, int itemsToo) { Trace(("menu_destroy %p", (void *) m)); - if (m != 0) { + if (m != NULL) { ITEM **items = menu_items(m); - const char *blob = 0; + const char *blob = NULL; int count; count = item_count(m); @@ -335,7 +335,7 @@ menu_destroy(MENU * m, int itemsToo) if (count > 0 && itemsToo) { if (itemsToo & 1) { ITEM **ip = items; - if (ip != 0) { + if (ip != NULL) { while (*ip) free_item(*ip++); } @@ -348,7 +348,7 @@ menu_destroy(MENU * m, int itemsToo) /* force the given menu to appear */ static void -menu_display(MENU * m) +menu_display(NCURSES_CONST MENU * m) { touchwin(menu_win(m)); wrefresh(menu_win(m)); @@ -362,14 +362,14 @@ build_file_menu(MenuNo number) static MENU_DATA table[] = { {"Exit", call_files, 0}, - {(char *) 0, 0, 0} + {(char *) 0, NULL, 0} }; static ITEM *items[SIZEOF(table)]; ITEM **ip = items; int n; - for (n = 0; table[n].name != 0; ++n) { + for (n = 0; table[n].name != NULL; ++n) { *ip = new_item(table[n].name, empty); set_item_userptr(*ip, (void *) &table[n]); ++ip; @@ -413,17 +413,17 @@ build_select_menu(MenuNo number, char *filename) MY_DATA("Pumas"), MY_DATA("Lions, Tigers, Bears, (Oh my!), Newts, Platypi, Lemurs"), MY_DATA("Lions, Tigers, Bears, (Oh my!), Newts, Platypi, Lemurs, Lions, Tigers, Bears, (Oh my!), Newts, Platypi, Lemurs"), - {(char *) 0, 0, 0} + {(char *) 0, NULL, 0} }; static ITEM **items; ITEM **ip; - MENU_DATA *ap = 0; - MENU_DATA *myList = 0; + MENU_DATA *ap = NULL; + MENU_DATA *myList = NULL; int i; size_t count = 0; - if (filename != 0) { + if (filename != NULL) { struct stat sb; if (stat(filename, &sb) == 0 && (sb.st_mode & S_IFMT) == S_IFREG @@ -436,9 +436,9 @@ build_select_menu(MenuNo number, char *filename) Trace(("build_select_menu blob=%p, items=%p", (void *) blob, (void *) items)); - if (blob != 0 && list != 0) { + if (blob != NULL && list != NULL) { FILE *fp = fopen(filename, "r"); - if (fp != 0) { + if (fp != NULL) { if (fread(blob, sizeof(char), size, fp) == size) { bool mark = TRUE; unsigned j, k; @@ -456,7 +456,7 @@ build_select_menu(MenuNo number, char *filename) blob[j] = ' '; /* menu items are printable */ } } - list[k].name = 0; + list[k].name = NULL; count = k; ap = myList = list; } @@ -464,28 +464,28 @@ build_select_menu(MenuNo number, char *filename) } loaded_file = TRUE; } - if (ap == 0) + if (ap == NULL) free(items); } } - if (ap == 0) { + if (ap == NULL) { count = SIZEOF(table) - 1; items = typeCalloc(ITEM *, count + 1); ap = table; } ip = items; - for (i = 0; ap[i].name != 0; ++i) { + for (i = 0; ap[i].name != NULL; ++i) { ap[i].func = call_select; ap[i].mask = (unsigned) i; *ip = new_item(ap[i].name, empty); set_item_userptr(*ip, (void *) &table[i]); ++ip; } - *ip = 0; + *ip = NULL; mpSelect = menu_create(items, (int) count, 1, number); - if (myList != 0) + if (myList != NULL) free(myList); } @@ -527,7 +527,7 @@ static MENU_DATA t_tbl[] = T_TBL(TRACE_ATTRS), T_TBL(TRACE_MAXIMUM), { - (char *) 0, 0, 0 + (char *) 0, NULL, 0 } }; @@ -539,7 +539,7 @@ build_trace_menu(MenuNo number) ITEM **ip = items; int n; - for (n = 0; t_tbl[n].name != 0; n++) { + for (n = 0; t_tbl[n].name != NULL; n++) { *ip = new_item(t_tbl[n].name, empty); set_item_userptr(*ip, (void *) &t_tbl[n]); ++ip; @@ -556,8 +556,8 @@ tracetrace(unsigned tlevel) static size_t need = 12; int n; - if (buf == 0) { - for (n = 0; t_tbl[n].name != 0; n++) + if (buf == NULL) { + for (n = 0; t_tbl[n].name != NULL; n++) need += strlen(t_tbl[n].name) + 2; buf = typeMalloc(char, need); if (!buf) @@ -568,7 +568,7 @@ tracetrace(unsigned tlevel) _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++) + for (n = 1; t_tbl[n].name != NULL; n++) if ((tlevel & t_tbl[n].mask) == t_tbl[n].mask) { _nc_STRCAT(buf, t_tbl[n].name, need); _nc_STRCAT(buf, ", ", need); @@ -584,10 +584,10 @@ tracetrace(unsigned tlevel) * the others */ static bool -update_trace_menu(MENU * m) +update_trace_menu(NCURSES_CONST MENU * m) { ITEM **items; - ITEM *i; + NCURSES_CONST ITEM *i; bool changed = FALSE; items = menu_items(m); @@ -595,7 +595,7 @@ update_trace_menu(MENU * m) if (i == items[0]) { if (item_value(i)) { ITEM **p; - for (p = items + 1; *p != 0; p++) + for (p = items + 1; *p != NULL; p++) if (item_value(*p)) { set_item_value(*p, FALSE); changed = TRUE; @@ -613,7 +613,7 @@ perform_trace_menu(int cmd) int result; for (ip = menu_items(mpTrace); *ip; ip++) { - MENU_DATA *td = (MENU_DATA *) item_userptr(*ip); + NCURSES_CONST MENU_DATA *td = (MENU_DATA *) item_userptr(*ip); unsigned mask = td->mask; if (mask == 0) set_item_value(*ip, _nc_tracing == 0); @@ -628,7 +628,7 @@ perform_trace_menu(int cmd) unsigned newtrace = 0; for (ip = menu_items(mpTrace); *ip; ip++) { if (item_value(*ip)) { - MENU_DATA *td = (MENU_DATA *) item_userptr(*ip); + NCURSES_CONST MENU_DATA *td = (MENU_DATA *) item_userptr(*ip); newtrace |= td->mask; } } @@ -670,7 +670,7 @@ current_menu(void) break; #endif default: - result = 0; + result = NULL; break; } return result; @@ -693,14 +693,14 @@ build_menus(char *filename) #ifdef TRACE {"Trace", call_menus, 2}, #endif - {(char *) 0, 0, 0} + {(char *) 0, NULL, 0} }; static ITEM *items[SIZEOF(table)]; ITEM **ip = items; int n; - for (n = 0; table[n].name != 0; ++n) { + for (n = 0; table[n].name != NULL; ++n) { *ip = new_item(table[n].name, empty); set_item_userptr(*ip, (void *) &table[n]); ++ip; @@ -718,7 +718,9 @@ build_menus(char *filename) } static int -move_menu(MENU * menu, MENU * current, int by_y, int by_x) +move_menu(NCURSES_CONST MENU * menu, + NCURSES_CONST MENU * current, + int by_y, int by_x) { WINDOW *top_win = menu_win(menu); WINDOW *sub_win = menu_sub(menu); @@ -753,7 +755,7 @@ move_menu(MENU * menu, MENU * current, int by_y, int by_x) * Move the menus around on the screen, to test mvwin(). */ static void -move_menus(MENU * current, int by_y, int by_x) +move_menus(NCURSES_CONST MENU * current, int by_y, int by_x) { if (move_menu(mpBanner, current, by_y, by_x) != ERR) { erase(); @@ -798,7 +800,7 @@ resize_menus(MENU * current) #endif /* defined(KEY_RESIZE) && NCURSES_EXT_FUNCS */ static void -show_status(int ch, MENU * menu) +show_status(int ch, NCURSES_CONST MENU * menu) { wmove(status, 0, 0); wprintw(status, "key %s, menu %d, mark %s, match %s", @@ -919,7 +921,7 @@ perform_menus(void) wrefresh(menu_win(last_menu)); if (code == E_UNKNOWN_COMMAND || code == E_NOT_POSTED) { - ITEM *item = current_item(last_menu); + NCURSES_CONST ITEM *item = current_item(last_menu); MENU_DATA *td = (MENU_DATA *) item_userptr(item); td->func((int) td->mask); } @@ -989,7 +991,7 @@ usage(int ok) ," -H rip-off header line (can repeat)" #endif #ifdef TRACE - ," -t mask specify default trace-level (may toggle with ^T)" + ," -D mask specify trace mask (may toggle with ^T)" #endif }; size_t n; @@ -1009,7 +1011,7 @@ main(int argc, char *argv[]) setlocale(LC_ALL, ""); START_TRACE(); - while ((ch = getopt(argc, argv, OPTS_COMMON "FHt:")) != -1) { + while ((ch = getopt(argc, argv, OPTS_COMMON "D:FH")) != -1) { switch (ch) { #if HAVE_RIPOFFLINE case 'F': @@ -1020,15 +1022,12 @@ main(int argc, char *argv[]) break; #endif /* HAVE_RIPOFFLINE */ #ifdef TRACE - case 't': - curses_trace((unsigned) strtoul(optarg, 0, 0)); + case 'D': + curses_trace((unsigned) strtoul(optarg, NULL, 0)); break; #endif - case OPTS_VERSION: - show_version(argv); - ExitProgram(EXIT_SUCCESS); default: - usage(ch == OPTS_USAGE); + CASE_COMMON; /* NOTREACHED */ } } @@ -1044,7 +1043,7 @@ main(int argc, char *argv[]) init_pair(2, COLOR_BLUE, COLOR_WHITE); } status = newwin(3, COLS, LINES - 3, 0); - build_menus(argc > 1 ? argv[1] : 0); + build_menus(argc > 1 ? argv[1] : NULL); perform_menus(); destroy_menus(); |
