/*
* Author: Thomas E. Dickey
*
- * $Id: demo_terminfo.c,v 1.34 2014/08/31 23:11:39 tom Exp $
+ * $Id: demo_terminfo.c,v 1.38 2014/10/10 00:35:28 tom Exp $
*
* A simple demo of the terminfo interface.
*/
del_curterm(cur_term);
}
+#if USE_CODE_LISTS
+#define fullname(type,n) f_opt ? type##fnames[n] : my_##type##codes[n]
+#else
+#define fullname(type,n) my_##type##codes[n]
+#endif
+
static void
demo_terminfo(char *name)
{
if (b_opt) {
for (n = 0;; ++n) {
- cap = f_opt ? boolfnames[n] : my_boolcodes[n];
+ cap = fullname(bool, n);
if (cap == 0)
break;
dumpit(cap);
if (n_opt) {
for (n = 0;; ++n) {
- cap = f_opt ? numfnames[n] : my_numcodes[n];
+ cap = fullname(num, n);
if (cap == 0)
break;
dumpit(cap);
if (s_opt) {
for (n = 0;; ++n) {
- cap = f_opt ? strfnames[n] : my_strcodes[n];
+ cap = fullname(str, n);
if (cap == 0)
break;
dumpit(cap);
static void
parse_description(const char *input_name)
{
+ static char empty[1];
+
FILE *fp;
struct stat sb;
size_t count_bools = 0;
if ((fp = fopen(input_name, "r")) == 0)
failed("cannot open input-file");
len = fread(my_blob, sizeof(char), (size_t) sb.st_size, fp);
+ my_blob[sb.st_size] = '\0';
fclose(fp);
/*
* known order.
*/
if (count_strs) {
- my_strvalues[count_strs] = "";
+ my_strvalues[count_strs] = empty;
my_strcodes[count_strs++] = &my_blob[j];
} else if (count_nums) {
- my_numvalues[count_nums] = "";
+ my_numvalues[count_nums] = empty;
my_numcodes[count_nums++] = &my_blob[j];
} else {
my_boolcodes[count_bools++] = &my_blob[j];
{
int pass;
size_t count;
- size_t length = 0;
+ size_t length = 1;
char **result = 0;
char *blob = 0;
char *unused = 0;
}
}
-#if NCURSES_XNAMES
+#if HAVE_USE_EXTENDED_NAMES
use_extended_names(x_opt);
#endif