X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2Fsetbuf.c;h=a2e2660c8664909c0f60b1b0f835c8ae36a2156d;hp=5610913d35b05e17d25d49e3020ef7418b5b148f;hb=687aeec3e382083652c3bb2e94fb6d3bf101a1f9;hpb=404cc3f5b0751dd219565139f825c5a4d445f651 diff --git a/ncurses/tinfo/setbuf.c b/ncurses/tinfo/setbuf.c index 5610913d..a2e2660c 100644 --- a/ncurses/tinfo/setbuf.c +++ b/ncurses/tinfo/setbuf.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. * + * Copyright (c) 1998-2009,2010 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 * @@ -42,7 +42,7 @@ #include -MODULE_ID("$Id: setbuf.c,v 1.14 2009/05/09 23:09:00 tom Exp $") +MODULE_ID("$Id: setbuf.c,v 1.16 2010/08/28 21:08:31 tom Exp $") /* * If the output file descriptor is connected to a tty (the typical case) it @@ -102,6 +102,15 @@ MODULE_ID("$Id: setbuf.c,v 1.14 2009/05/09 23:09:00 tom Exp $") NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_set_buffer) (NCURSES_SP_DCLx FILE *ofp, bool buffered) { + int Cols; + int Lines; + + if (0 == SP_PARM) + return; + + Cols = *(ptrCols(SP_PARM)); + Lines = *(ptrLines(SP_PARM)); + /* optional optimization hack -- do before any output to ofp */ #if HAVE_SETVBUF || HAVE_SETBUFFER if (SP_PARM->_buffered != buffered) { @@ -116,7 +125,7 @@ NCURSES_SP_NAME(_nc_set_buffer) (NCURSES_SP_DCLx FILE *ofp, bool buffered) setmode(ofp, O_BINARY); #endif if (buffered != 0) { - buf_len = min(LINES * (COLS + 6), 2800); + buf_len = (unsigned) min(Lines * (Cols + 6), 2800); if ((buf_ptr = SP_PARM->_setbuf) == 0) { if ((buf_ptr = typeMalloc(char, buf_len)) == NULL) return; @@ -155,6 +164,6 @@ NCURSES_SP_NAME(_nc_set_buffer) (NCURSES_SP_DCLx FILE *ofp, bool buffered) NCURSES_EXPORT(void) _nc_set_buffer(FILE *ofp, bool buffered) { - return NCURSES_SP_NAME(_nc_set_buffer) (CURRENT_SCREEN, ofp, buffered); + NCURSES_SP_NAME(_nc_set_buffer) (CURRENT_SCREEN, ofp, buffered); } #endif