X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2Flib_freeall.c;h=38d73aa25204b96a1a3f0598814a2a4cb13dc729;hp=693877879a60268712434cb5c8576851243ab0eb;hb=6c611e66965f5a8fb1a6696611f18441132852a2;hpb=d2650934c6f7223556f59cfb45dfc904018ee9d9 diff --git a/ncurses/base/lib_freeall.c b/ncurses/base/lib_freeall.c index 69387787..38d73aa2 100644 --- a/ncurses/base/lib_freeall.c +++ b/ncurses/base/lib_freeall.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. * + * Copyright (c) 1998-2011,2012 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 * @@ -39,7 +39,7 @@ extern int malloc_errfd; /* FIXME */ #endif -MODULE_ID("$Id: lib_freeall.c,v 1.60 2011/10/22 16:34:50 tom Exp $") +MODULE_ID("$Id: lib_freeall.c,v 1.61 2012/08/25 19:52:47 tom Exp $") /* * Free all ncurses data. This is used for testing only (there's no practical @@ -129,8 +129,9 @@ _nc_freeall(void) NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_free_and_exit) (NCURSES_SP_DCLx int code) { - char *last_setbuf = (SP_PARM != 0) ? SP_PARM->_setbuf : 0; + char *last_buffer = (SP_PARM != 0) ? SP_PARM->out_buffer : 0; + NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG); NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_ARG); #ifdef TRACE trace(0); /* close trace file, freeing its setbuf */ @@ -139,8 +140,7 @@ NCURSES_SP_NAME(_nc_free_and_exit) (NCURSES_SP_DCLx int code) free(_nc_varargs("?", fake)); } #endif - fclose(stdout); - FreeIfNeeded(last_setbuf); + FreeIfNeeded(last_buffer); exit(code); }