X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftty%2Ftty_update.c;h=866681369a108ab989a3b45ce3e4dea84ddb7bbd;hp=15510ce406a7d4e738eb7107b50f664ab7afb0e4;hb=396a05943b7da5039dd15d79c4385c7d2a75d6d4;hpb=eb312e0bb90463a33aa8a53f825b32dc189af023 diff --git a/ncurses/tty/tty_update.c b/ncurses/tty/tty_update.c index 15510ce4..86668136 100644 --- a/ncurses/tty/tty_update.c +++ b/ncurses/tty/tty_update.c @@ -74,7 +74,7 @@ #include #include -MODULE_ID("$Id: tty_update.c,v 1.240 2007/06/30 21:07:51 tom Exp $") +MODULE_ID("$Id: tty_update.c,v 1.243 2007/10/13 20:03:32 tom Exp $") /* * This define controls the line-breakout optimization. Every once in a @@ -289,7 +289,7 @@ PutAttrChar(CARG_CH_T ch) #endif { PUTC(CHDEREF(ch), SP->_ofp); /* macro's fastest... */ - TRACE_OUTCHARS(1); + COUNT_OUTCHARS(1); } SP->_curscol += chlen; if (char_padding) { @@ -624,13 +624,18 @@ doupdate(void) T((T_CALLED("doupdate()"))); + if (curscr == 0 + || newscr == 0) + returnCode(ERR); + #ifdef TRACE - if (_nc_tracing & TRACE_UPDATE) { + if (USE_TRACEF(TRACE_UPDATE)) { if (curscr->_clear) _tracef("curscr is clear"); else _tracedump("curscr", curscr); _tracedump("newscr", newscr); + _nc_unlock_global(tracef); } #endif /* TRACE */ @@ -666,7 +671,7 @@ doupdate(void) } #if USE_TRACE_TIMES /* zero the metering machinery */ - _nc_outchars = 0; + RESET_OUTCHARS(); (void) times(&before); #endif /* USE_TRACE_TIMES */ @@ -826,9 +831,10 @@ doupdate(void) #ifdef TRACE /* show altered highlights after magic-cookie check */ - if (_nc_tracing & TRACE_UPDATE) { + if (USE_TRACEF(TRACE_UPDATE)) { _tracef("After magic-cookie check..."); _tracedump("newscr", newscr); + _nc_unlock_global(tracef); } #endif /* TRACE */ }