+#if USE_HOME_TERMINFO
+ if (_nc_globals.home_terminfo != 0) {
+ FreeAndNull(_nc_globals.home_terminfo);
+ }
+#endif
+#ifdef USE_TERM_DRIVER
+ if (TCB->drv)
+ TCB->drv->td_release(TCB);
+#endif
+#if NO_LEAKS
+ /* 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);