]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/tinfo/lib_termcap.c
ncurses 6.0 - patch 20171223
[ncurses.git] / ncurses / tinfo / lib_termcap.c
index a8addc6c5e10bd018263e3024f04bd366968a991..ebad5814fc5fffd803e6e6781c58fd738b453184 100644 (file)
@@ -48,7 +48,7 @@
 #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.86 2017/12/23 18:18:13 tom Exp $")
 
 NCURSES_EXPORT_VAR(char *) UP = 0;
 NCURSES_EXPORT_VAR(char *) BC = 0;
@@ -153,8 +153,12 @@ NCURSES_SP_NAME(tgetent) (NCURSES_SP_DCLx char *bufp, const char *name)
        }
        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;
@@ -401,7 +405,7 @@ _nc_tgetent_leak(TERMINAL *termp)
        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;
                }