Я хочу, чтобы обернуть функцию, которая выглядит следующим образом: void dbgLog (tDbgLog *dbg, const char *mod, const char *func, const char *format,...)
и делает использование vsnprintf()
, чтобы сделать его доступным, вызывая другую функцию, я попытался следующие, но это, кажется, не работать правильно:Как правильно перенести функцию с динамическим числом аргументов вверх?
void pMonDbgLog(const char *mod, const char *func, char* fmt, ...)
{
va_list args;
va_start(args,fmt);
dbgLog(g_pdbg,mod,func,fmt,args);
va_end(args);
}
и я снова делаю это доступным через следующий макрос: #define gDbgLog(fmt,...) pMonDbgLog(MODULE_NAME,__FUNCTION__,fmt, ##__VA_ARGS__)
, но оказывается, что мои аргументы перепутаны. Почему это, мне интересно?