diff options
Diffstat (limited to 'contrib/ncurses/ncurses/trace/lib_trace.c')
-rw-r--r-- | contrib/ncurses/ncurses/trace/lib_trace.c | 83 |
1 files changed, 16 insertions, 67 deletions
diff --git a/contrib/ncurses/ncurses/trace/lib_trace.c b/contrib/ncurses/ncurses/trace/lib_trace.c index 08790bb..29eecc0 100644 --- a/contrib/ncurses/ncurses/trace/lib_trace.c +++ b/contrib/ncurses/ncurses/trace/lib_trace.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. * + * Copyright (c) 1998,1999,2000,2001 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 * @@ -40,7 +40,7 @@ #include <ctype.h> -MODULE_ID("$Id: lib_trace.c,v 1.38 2000/12/10 03:02:45 tom Exp $") +MODULE_ID("$Id: lib_trace.c,v 1.48 2001/10/20 20:35:25 tom Exp $") NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0; /* always define this */ @@ -59,10 +59,10 @@ trace(const unsigned int tracelevel GCC_UNUSED) static bool been_here = FALSE; static char my_name[] = "trace"; - _nc_tracing = tracelevel; if (!been_here && tracelevel) { been_here = TRUE; + _nc_tracing = tracelevel; if (_nc_access(my_name, W_OK) < 0 || (tracefp = fopen(my_name, "wb")) == 0) { perror("curses: Can't open 'trace' file: "); @@ -77,73 +77,14 @@ trace(const unsigned int tracelevel GCC_UNUSED) #elif HAVE_SETBUF /* POSIX */ (void) setbuffer(tracefp, (char *) 0); #endif - _tracef("TRACING NCURSES version %s", curses_version()); + _tracef("TRACING NCURSES version %s (tracelevel=%#x)", + curses_version(), tracelevel); + } else if (_nc_tracing != tracelevel) { + _nc_tracing = tracelevel; + _tracef("tracelevel=%#x", tracelevel); } } -#endif - -NCURSES_EXPORT(const char *) -_nc_visbuf2(int bufnum, const char *buf) -/* visibilize a given string */ -{ - char *vbuf; - char *tp; - int c; - - if (buf == 0) - return ("(null)"); - if (buf == CANCELLED_STRING) - return ("(cancelled)"); - -#ifdef TRACE - tp = vbuf = _nc_trace_buf(bufnum, (strlen(buf) * 4) + 5); -#else - { - static char *mybuf[2]; - mybuf[bufnum] = _nc_doalloc(mybuf[bufnum], (strlen(buf) * 4) + 5); - tp = vbuf = mybuf[bufnum]; - } -#endif - *tp++ = '"'; - while ((c = *buf++) != '\0') { - if (c == '"') { - *tp++ = '\\'; - *tp++ = '"'; - } else if (is7bits(c) && (isgraph(c) || c == ' ')) { - *tp++ = c; - } else if (c == '\n') { - *tp++ = '\\'; - *tp++ = 'n'; - } else if (c == '\r') { - *tp++ = '\\'; - *tp++ = 'r'; - } else if (c == '\b') { - *tp++ = '\\'; - *tp++ = 'b'; - } else if (c == '\033') { - *tp++ = '\\'; - *tp++ = 'e'; - } else if (is7bits(c) && iscntrl(c)) { - *tp++ = '\\'; - *tp++ = '^'; - *tp++ = '@' + c; - } else { - sprintf(tp, "\\%03o", CharOf(c)); - tp += strlen(tp); - } - } - *tp++ = '"'; - *tp++ = '\0'; - return (vbuf); -} -NCURSES_EXPORT(const char *) -_nc_visbuf(const char *buf) -{ - return _nc_visbuf2(0, buf); -} - -#ifdef TRACE NCURSES_EXPORT(void) _tracef(const char *fmt,...) { @@ -208,6 +149,14 @@ _nc_retrace_ptr(char *code) return code; } +/* Trace 'SCREEN *' return-values */ +NCURSES_EXPORT(SCREEN *) +_nc_retrace_sp(SCREEN * code) +{ + T((T_RETURN("%p"), code)); + return code; +} + /* Trace 'WINDOW *' return-values */ NCURSES_EXPORT(WINDOW *) _nc_retrace_win(WINDOW *code) |