X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=ncurses%2Ftinfo%2Flib_cur_term.c;h=1f8db2c1e0c8587984503ffe69b0d22b239a24f9;hb=bd2d9c5734d2c66abe0b2ddd766695b200c154fe;hp=0373aebb11b93d576fc5d262ec747f0ad5cd64ad;hpb=7884aa084f9440fd964f14fe31853a5f85db5104;p=ncurses.git diff --git a/ncurses/tinfo/lib_cur_term.c b/ncurses/tinfo/lib_cur_term.c index 0373aebb..1f8db2c1 100644 --- a/ncurses/tinfo/lib_cur_term.c +++ b/ncurses/tinfo/lib_cur_term.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright 2020 Thomas E. Dickey * +,* Copyright 2020-2021,2022 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -41,7 +41,7 @@ #include /* ospeed */ #include /* VALID_STRING */ -MODULE_ID("$Id: lib_cur_term.c,v 1.43 2020/10/24 18:54:32 tom Exp $") +MODULE_ID("$Id: lib_cur_term.c,v 1.49 2022/05/28 17:56:55 tom Exp $") #undef CUR #define CUR TerminalType(termp). @@ -147,7 +147,11 @@ NCURSES_SP_NAME(del_curterm) (NCURSES_SP_DCLx TERMINAL *termp) ); #if NCURSES_EXT_NUMBERS - _nc_free_termtype(&termp->type); +#if NCURSES_EXT_COLORS + _nc_free_termtype1(&termp->type); +#else + _nc_free_termtype2(&termp->type); +#endif #endif _nc_free_termtype2(&TerminalType(termp)); if (termp == cur) @@ -167,10 +171,17 @@ NCURSES_SP_NAME(del_curterm) (NCURSES_SP_DCLx TERMINAL *termp) /* discard memory used in tgetent's cache for this terminal */ _nc_tgetent_leak(termp); #endif + if (--_nc_globals.terminal_count == 0) { + _nc_free_tparm(termp); + } + + free(termp->tparm_state.fmt_buff); + free(termp->tparm_state.out_buff); free(termp); rc = OK; } + returnCode(rc); }