29#if defined(_MSC_VER) && _MSC_VER < 1900
30#define snprintf _snprintf
34int NSROOT::_dbgLevel = DBG_NONE;
39 void (*msg_callback)(
int level,
char* msg);
44void NSROOT::_setDBGMsgCallback(
void (*msgcb)(
int level,
char*))
46 debug_ctx.msg_callback = msgcb;
56static inline void __dbg(
debug_ctx_t* ctx,
int level,
const char* fmt, va_list ap)
61 int len = snprintf(msg,
sizeof (msg),
"(%s)", ctx->name);
62 vsnprintf(msg + len,
sizeof (msg) - len, fmt, ap);
63 if (ctx->msg_callback)
65 ctx->msg_callback(level, msg);
69 fwrite(msg, strlen(msg), 1, stderr);
74void NSROOT::_writeDBGMsg(
int level,
const char* fmt, ...)
78 __dbg(&debug_ctx, level, fmt, ap);