/****************************************************************************
- * Copyright (c) 2017 Free Software Foundation, Inc. *
+ * Copyright (c) 2017,2019 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 *
****************************************************************************/
/*
- * $Id: sp_tinfo.c,v 1.17 2017/04/02 01:03:30 tom Exp $
+ * $Id: sp_tinfo.c,v 1.22 2019/04/06 20:42:57 tom Exp $
*
* TOTO: add option for non-sp-funcs interface
*/
result->fp = output;
result->name = name;
result->outc = (fileno(output) == 1) ? my_outc : my_errc;
- result->sp = opt_n ? 0 : new_prescr();
+ result->sp = opt_n ? NULL : new_prescr();
if (opt_t) {
char *temp = strdup(name);
tgetent_sp(result->sp, temp, name);
free(temp);
} else {
- setupterm(name, fileno(output), &error);
+ setupterm((NCURSES_CONST char *) name, fileno(output), &error);
}
result->term = cur_term;
}
}
+#define TC_PARMS data->sp, (NCURSES_CONST char *)tc
+#define TI_PARMS data->sp, (NCURSES_CONST char *)ti
+
static void
show_cap_flag(MYDATA * data, const char *ti, const char *tc)
{
const char *name = (opt_t ? tc : ti);
show_flag(data, name, (opt_t
- ? tgetflag_sp(data->sp, tc)
- : tigetflag_sp(data->sp, ti)));
+ ? tgetflag_sp(TC_PARMS)
+ : tigetflag_sp(TI_PARMS)));
}
static void
{
const char *name = (opt_t ? tc : ti);
show_number(data, name, (opt_t
- ? tgetnum_sp(data->sp, tc)
- : tigetnum_sp(data->sp, ti)));
+ ? tgetnum_sp(TC_PARMS)
+ : tigetnum_sp(TI_PARMS)));
}
static void
char tcapjunk[1024];
char *tcap_ptr = tcapjunk;
show_string(data, name, (opt_t
- ? tgetstr_sp(data->sp, tc, &tcap_ptr)
- : tigetstr_sp(data->sp, ti)));
+ ? tgetstr_sp(TC_PARMS, &tcap_ptr)
+ : tigetstr_sp(TI_PARMS)));
}
static void
static void
do_stuff(MYDATA * data)
{
- char *s;
SCREEN *sp = data->sp;
+#if NCURSES_EXT_FUNCS
+ char *s;
int my_code = 1234;
const char *my_text = "\033[?m";
+#endif
set_curterm_sp(sp, data->term);
show_string(data, "unctrl", unctrl_sp(sp, 033));
fflush(data->fp);
+#if NCURSES_EXT_FUNCS
define_key_sp(sp, my_text, my_code);
has_key_sp(sp, 0);
key_defined_sp(sp, my_text);
if ((s = keybound_sp(sp, my_code, 0)) != 0)
free(s);
+#endif
keyname_sp(sp, '?');
+#if NCURSES_EXT_FUNCS
keyok_sp(sp, my_code, FALSE);
keyok_sp(sp, my_code, TRUE);
+#endif
savetty_sp(sp);
/*
* These functions are low-level settings for ncurses.
*/
+#if NCURSES_EXT_FUNCS
set_tabsize_sp(sp, 5); /* waddch */
+#endif
typeahead_sp(sp, FALSE); /* waddch */
use_env_sp(sp, FALSE); /* newterm */
use_tioctl_sp(sp, FALSE); /* newterm */
{
set_curterm(data->term);
del_curterm(data->term);
+#if !NO_LEAKS
free(data->sp); /* cannot use delscreen in tinfo */
+#endif
free(data);
}