00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifdef _MSC_VER
00011 #include <windows.h>
00012 #endif
00013 #include <stdio.h>
00014 #include <cstdarg>
00015
00016 #ifndef _WIN32
00017 #ifndef MACOSX_PB
00018 #include <config.h>
00019 #endif
00020 #endif
00021
00022 static int debugVerbosity = 0;
00023
00024 #if defined(DEBUG) || defined(_DEBUG)
00025 void DebugPrint(int level, char *format, ...)
00026 {
00027 va_list args;
00028 va_start(args, format);
00029
00030 if (level <= debugVerbosity)
00031 {
00032 #ifdef _MSC_VER
00033 if (IsDebuggerPresent())
00034 {
00035 char buf[1024];
00036 vsprintf(buf, format, args);
00037 OutputDebugString(buf);
00038 }
00039 else
00040 {
00041 vfprintf(stdout, format, args);
00042 }
00043 #else
00044 vfprintf(stderr, format, args);
00045 #endif
00046 }
00047
00048 va_end(args);
00049 }
00050 #endif
00051
00052
00053 void SetDebugVerbosity(int dv)
00054 {
00055 if(dv<0)
00056 dv=0;
00057 debugVerbosity = dv;
00058 }
00059
00060
00061 int GetDebugVerbosity()
00062 {
00063 return debugVerbosity;
00064 }