diff --git a/include/utils/logger.h b/include/utils/logger.h index 04241522bf59a1aa8cd51d0c8e767c0149c7ef48..84d6b12894681d3de8a6e55230938ee964909d67 100644 --- a/include/utils/logger.h +++ b/include/utils/logger.h @@ -1,10 +1,16 @@ #ifndef LOGGER_H #define LOGGER_H +#include <stdarg.h> /** * Write the message passed in parameter in the tracefile */ -void tracemessage(char *msg); +void vtracemessage(char *fmt, va_list ap); + +/** + * Write the message passed in parameter in the tracefile + */ +void tracemessage(char *fmt, ...); #endif diff --git a/src/utils/logger.c b/src/utils/logger.c index 39dc5a01f48f742cc95a727b7ebdc0163506dc92..c293168b42968e0bc01e01a72b8a3dc30636cb5e 100644 --- a/src/utils/logger.c +++ b/src/utils/logger.c @@ -1,7 +1,7 @@ #include "utils/logger.h" #include "logglobals.h" -void tracemessage(char *msg) +void vtracemessage(char *fmt, va_list ap) { if (!gg.traceflag) return; @@ -26,5 +26,14 @@ void tracemessage(char *msg) gg.traceopen = true; } - fprintf(tracefile, "%s\n", msg); + vfprintf(tracefile, fmt, ap); +} + +void tracemessage(char *fmt, ...) +{ + + va_list ap; + va_start(ap, fmt); + vtracemessage(fmt, ap); + va_end(ap); }