X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=src%2Flog.cpp;h=88c47b70ddcc8ff1cb8464c37df60277ea6770a9;hb=b716ae547424e4e4bbda86781a151c31e3a64e67;hp=699036b7d014e2de898213d314cafc8dce8b82ff;hpb=f8de7d373ff0a5d977adee1d1a464401ece60550;p=ipdf%2Fcode.git diff --git a/src/log.cpp b/src/log.cpp index 699036b..88c47b7 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -10,6 +10,9 @@ #include #include #include +#ifndef __MINGW32__ +#include +#endif #ifdef LOG_SYSLOG @@ -75,13 +78,13 @@ void LogEx(int level, const char * funct, const char * file, int line, ...) severity = "WARNING"; break; case LOG_NOTICE: - severity = "NOTICE"; + severity = "notice"; break; case LOG_INFO: - severity = "INFO"; + severity = "info"; break; default: - severity = "DEBUG"; + severity = "debug"; break; } @@ -117,7 +120,6 @@ void FatalEx(const char * funct, const char * file, int line, ...) // Fatal error in the Fatal function. // (This really shouldn't happen unless someone does something insanely stupid) Fatal("Format string is NULL"); - return; // Should never get here } vsnprintf(buffer, BUFSIZ, fmt,va); @@ -139,3 +141,17 @@ void FatalEx(const char * funct, const char * file, int line, ...) } +/** + * Print a backtrace + */ +void Backtrace(int size) +{ + #ifndef __MINGW32__ + void * buffer[100]; + int actual_size = backtrace(buffer, size); + backtrace_symbols_fd(buffer, actual_size, fileno(stderr)); + #else + Error("Backtrace not supported by compiler"); + #endif +} +