/* * $Id: trace.c,v 1.1.1.1 2004/08/25 19:21:57 jan Exp $ * * Copyright (c) 2002 Jan Algermissen * See the file "COPYING" for copying permission. * */ #include "tmtrace.h" #include /* for printfs */ int tm_trace(const char *func, const char * fmt, ...) { va_list args; va_start(args,fmt); if(func) fprintf(stderr,"%33s: ",func); vfprintf(stderr,fmt,args); va_end(args); return 0; } int tm_set_trace_mask(const char * shortnames) { #if !defined(NDEBUG) && defined(TM_TRACEFLAG) TM_TRACEFLAG = 0; if (shortnames && *shortnames) { char * ptr = (char *) shortnames; for(; *ptr; ptr++) { switch (*ptr) { case 't': TM_TRACEFLAG |= TM_SHOW_GRAPH_TRACE; break; case 's': TM_TRACEFLAG |= TM_SHOW_STORAGE_TRACE; break; case 'p': TM_TRACEFLAG |= TM_SHOW_PARSE_TRACE; break; case 'm': TM_TRACEFLAG |= TM_SHOW_POOL_TRACE; break; case 'x': TM_TRACEFLAG |= TM_SHOW_X_TRACE; break; case 'a': TM_TRACEFLAG |= TM_SHOW_APP_TRACE; break; case '*': TM_TRACEFLAG |= TM_SHOW_ALL_TRACE; break; case 'o': TM_TRACEFLAG |= TM_SHOW_OMNIVORE_TRACE; break; case 'v': TM_TRACEFLAG |= TM_SHOW_VALUE_TRACE; break; case 'q': TM_TRACEFLAG |= TM_SHOW_QUERY_TRACE; break; default: ; /* bad argument */ } } if (!TM_TRACEFLAG) TM_TRACEFLAG = TM_SHOW_ALL_TRACE; } else { TM_TRACEFLAG = TM_SHOW_ALL_TRACE; } return TM_TRACEFLAG; #else return 0; #endif }