#include <ctype.h>
#include <term.h>
-MODULE_ID("$Id: tty_update.c,v 1.239 2007/04/19 20:57:49 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
#endif
{
PUTC(CHDEREF(ch), SP->_ofp); /* macro's fastest... */
- TRACE_OUTCHARS(1);
+ COUNT_OUTCHARS(1);
}
SP->_curscol += chlen;
if (char_padding) {
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 */
}
#if USE_TRACE_TIMES
/* zero the metering machinery */
- _nc_outchars = 0;
+ RESET_OUTCHARS();
(void) times(&before);
#endif /* USE_TRACE_TIMES */
#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 */
}
nonempty = 0;
if (curscr->_clear || newscr->_clear) { /* force refresh ? */
- TR(TRACE_UPDATE, ("clearing and updating from scratch"));
ClrUpdate();
curscr->_clear = FALSE; /* reset flag */
newscr->_clear = FALSE; /* reset flag */
NCURSES_CH_T blank = ClrBlank(stdscr);
int nonempty = min(screen_lines, newscr->_maxy + 1);
- TR(TRACE_UPDATE, ("ClrUpdate() called"));
+ TR(TRACE_UPDATE, (T_CALLED("ClrUpdate")));
ClearScreen(blank);
for (i = 0; i < nonempty; i++)
TransformLine(i);
+
+ TR(TRACE_UPDATE, (T_RETURN("")));
}
/*