/****************************************************************************
- * Copyright (c) 2005-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2005-2013,2014 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 *
* authorization. *
****************************************************************************/
/*
- * $Id: demo_menus.c,v 1.50 2013/06/08 21:38:37 tom Exp $
+ * $Id: demo_menus.c,v 1.54 2014/09/05 08:34:06 tom Exp $
*
* Demonstrate a variety of functions from the menu library.
* Thomas Dickey - 2005/4/9
#define MENU_Y 1
typedef struct {
- const char *name;
+ NCURSES_CONST char *name;
void (*func) (int);
unsigned mask;
} MENU_DATA;
static bool loaded_file = FALSE;
+static char empty[1];
+
/* Common function to allow ^T to toggle trace-mode in the middle of a test
* so that trace-files can be made smaller.
*/
if ((count > 0) && (m == mpSelect)) {
if (blob && loaded_file) {
Trace(("freeing blob %p", blob));
- free((char *) blob);
+ free((void *) blob);
}
free(items);
items = 0;
int n;
for (n = 0; table[n].name != 0; ++n) {
- *ip = new_item(table[n].name, "");
- set_item_userptr(*ip, &table[n]);
+ *ip = new_item(table[n].name, empty);
+ set_item_userptr(*ip, (void *) &table[n]);
++ip;
}
*ip = (ITEM *) 0;
MENU_DATA *ap = 0;
MENU_DATA *myList = 0;
int i;
- unsigned count = 0;
+ size_t count = 0;
if (filename != 0) {
struct stat sb;
for (i = 0; ap[i].name != 0; ++i) {
ap[i].func = call_select;
ap[i].mask = (unsigned) i;
- *ip = new_item(ap[i].name, "");
- set_item_userptr(*ip, &table[i]);
+ *ip = new_item(ap[i].name, empty);
+ set_item_userptr(*ip, (void *) &table[i]);
++ip;
}
*ip = 0;
int n;
for (n = 0; t_tbl[n].name != 0; n++) {
- *ip = new_item(t_tbl[n].name, "");
- set_item_userptr(*ip, &t_tbl[n]);
+ *ip = new_item(t_tbl[n].name, empty);
+ set_item_userptr(*ip, (void *) &t_tbl[n]);
++ip;
}
*ip = (ITEM *) 0;
int result;
for (ip = menu_items(mpTrace); *ip; ip++) {
- MENU_DATA *td = item_userptr(*ip);
+ MENU_DATA *td = (MENU_DATA *) item_userptr(*ip);
unsigned mask = td->mask;
if (mask == 0)
set_item_value(*ip, _nc_tracing == 0);
newtrace = 0;
for (ip = menu_items(mpTrace); *ip; ip++) {
if (item_value(*ip)) {
- MENU_DATA *td = item_userptr(*ip);
+ MENU_DATA *td = (MENU_DATA *) item_userptr(*ip);
newtrace |= td->mask;
}
}
int n;
for (n = 0; table[n].name != 0; ++n) {
- *ip = new_item(table[n].name, "");
- set_item_userptr(*ip, &table[n]);
+ *ip = new_item(table[n].name, empty);
+ set_item_userptr(*ip, (void *) &table[n]);
++ip;
}
*ip = (ITEM *) 0;
if (code == E_UNKNOWN_COMMAND
|| code == E_NOT_POSTED) {
ITEM *item = current_item(last_menu);
- MENU_DATA *td = item_userptr(item);
+ MENU_DATA *td = (MENU_DATA *) item_userptr(item);
td->func((int) td->mask);
}
if (code == E_REQUEST_DENIED)