/****************************************************************************
- * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. *
+ * Copyright 2018,2020 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 *
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: lib_termcap.c,v 1.84 2017/04/11 01:15:11 tom Exp $")
+MODULE_ID("$Id: lib_termcap.c,v 1.88 2020/02/02 23:34:34 tom Exp $")
NCURSES_EXPORT_VAR(char *) UP = 0;
NCURSES_EXPORT_VAR(char *) BC = 0;
START_TRACE();
T((T_CALLED("tgetent()")));
- TINFO_SETUP_TERM(&termp, (NCURSES_CONST char *) name,
- STDOUT_FILENO, &rc, TRUE);
+ TINFO_SETUP_TERM(&termp, name, STDOUT_FILENO, &rc, TRUE);
#ifdef USE_TERM_DRIVER
if (termp == 0 ||
}
CacheInx = best;
}
- LAST_TRM = TerminalOf(SP_PARM);
- LAST_SEQ = ++CacheSeq;
+ if (rc == 1) {
+ LAST_TRM = TerminalOf(SP_PARM);
+ LAST_SEQ = ++CacheSeq;
+ } else {
+ LAST_TRM = 0;
+ }
PC = 0;
UP = 0;
***************************************************************************/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(tgetflag) (NCURSES_SP_DCLx NCURSES_CONST char *id)
+NCURSES_SP_NAME(tgetflag) (NCURSES_SP_DCLx const char *id)
{
int result = 0; /* Solaris returns zero for missing flag */
#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
-tgetflag(NCURSES_CONST char *id)
+tgetflag(const char *id)
{
return NCURSES_SP_NAME(tgetflag) (CURRENT_SCREEN, id);
}
***************************************************************************/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(tgetnum) (NCURSES_SP_DCLx NCURSES_CONST char *id)
+NCURSES_SP_NAME(tgetnum) (NCURSES_SP_DCLx const char *id)
{
int result = ABSENT_NUMERIC;
#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
-tgetnum(NCURSES_CONST char *id)
+tgetnum(const char *id)
{
return NCURSES_SP_NAME(tgetnum) (CURRENT_SCREEN, id);
}
***************************************************************************/
NCURSES_EXPORT(char *)
-NCURSES_SP_NAME(tgetstr) (NCURSES_SP_DCLx NCURSES_CONST char *id, char **area)
+NCURSES_SP_NAME(tgetstr) (NCURSES_SP_DCLx const char *id, char **area)
{
char *result = NULL;
#if NCURSES_SP_FUNCS
NCURSES_EXPORT(char *)
-tgetstr(NCURSES_CONST char *id, char **area)
+tgetstr(const char *id, char **area)
{
return NCURSES_SP_NAME(tgetstr) (CURRENT_SCREEN, id, area);
}
int num;
for (CacheInx = 0; CacheInx < TGETENT_MAX; ++CacheInx) {
if (LAST_TRM == termp) {
- FreeIfNeeded(FIX_SGR0);
+ FreeAndNull(FIX_SGR0);
if (LAST_TRM != 0) {
LAST_TRM = 0;
}