00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00029 #include <stdio.h>
00030 #include <stdarg.h>
00031 #include <stdlib.h>
00032 #include "debug.h"
00033
00034 #ifdef HAVE_CONFIG_H
00035 #include "config.h"
00036 #endif
00037
00038 int debugLevel=0;
00039
00040 void setDebugLevel(DebugLevel level) {
00041 debugLevel = level;
00042 }
00043
00044 void addDebugLevel(DebugLevel l) {
00045 debugLevel |= l;
00046 }
00047
00048 void removeDebugLevel(DebugLevel l) {
00049 debugLevel &= ~l;
00050 }
00051
00052 void debugMessage(DebugLevel level, const char *szMessage, ...) {
00053 va_list arglist;
00054
00055 if ((level & debugLevel) == 0)
00056 return;
00057 va_start(arglist, szMessage);
00058 #ifdef HAVE_VPRINTF
00059 vprintf( szMessage, arglist);
00060 #else
00061 printf("(vprintf not available) %s", szMessage);
00062 #endif
00063 va_end(arglist);
00064
00065
00066
00067 }
00068