X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2Fentries.c;h=05f45ef0484ccf1d6602e9103b7de28aa8a12442;hp=9cf2cdee1ee8925fc75d32de3288e8b8fce8ee47;hb=ca276baf720e3a44721b9e18955d3f546955c6c8;hpb=6f8ad7d77b390ee433a283e1c5175bcb67317674 diff --git a/ncurses/tinfo/entries.c b/ncurses/tinfo/entries.c index 9cf2cdee..05f45ef0 100644 --- a/ncurses/tinfo/entries.c +++ b/ncurses/tinfo/entries.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2006 Free Software Foundation, Inc. * + * Copyright (c) 2006-2007,2008 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 * @@ -37,7 +37,7 @@ #include #include -MODULE_ID("$Id: entries.c,v 1.2 2006/12/24 00:58:33 tom Exp $") +MODULE_ID("$Id: entries.c,v 1.6 2008/06/21 21:25:01 tom Exp $") /**************************************************************************** * @@ -107,3 +107,42 @@ _nc_delink_entry(ENTRY * headp, TERMTYPE *tterm) } return ep; } + +NCURSES_EXPORT(void) +_nc_leaks_tinfo(void) +{ + char *s; + + T((T_CALLED("_nc_free_tinfo()"))); +#if NO_LEAKS + _nc_free_tparm(); + _nc_tgetent_leaks(); +#endif + _nc_free_entries(_nc_head); + _nc_get_type(0); + _nc_first_name(0); +#if NO_LEAKS + _nc_keyname_leaks(); +#endif +#if BROKEN_LINKER || USE_REENTRANT + _nc_names_leaks(); + _nc_codes_leaks(); + FreeIfNeeded(_nc_prescreen.real_acs_map); +#endif +#if USE_WIDEC_SUPPORT + FreeIfNeeded(_nc_wacs); +#endif + + if ((s = _nc_home_terminfo()) != 0) + free(s); + returnVoid; +} + +#if NO_LEAKS +NCURSES_EXPORT(void) +_nc_free_tinfo(int code) +{ + _nc_leaks_tinfo(); + exit(code); +} +#endif