diff options
Diffstat (limited to 'mmss/log.cpp')
-rw-r--r-- | mmss/log.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/mmss/log.cpp b/mmss/log.cpp index eb2ce03..029b1d6 100644 --- a/mmss/log.cpp +++ b/mmss/log.cpp @@ -26,13 +26,16 @@ #include "mmss.hpp" +#include <cstdarg> #include <cstdio> +namespace MMSS { + static inline int snprintf_safe(char *buffer, size_t size, const char *format, ...) { - va_list ap; + std::va_list ap; va_start(ap, format); - int ret = vsnprintf(buffer, size, format, ap); + int ret = std::vsnprintf(buffer, size, format, ap); va_end(ap); return ret < 0 ? 0 : ret > size ? size : ret; @@ -57,13 +60,13 @@ static inline const char* get_log_prefix(int log_level) { } } -void mmss_logf(mmss_t *mmss, int priority, const char *format, ...) { +void logf(context_t *mmss, int priority, const char *format, ...) { char buf[1024]; size_t pos = 0; pos += snprintf_safe(buf, sizeof(buf), "[% 5u.%03u] ", mmss->now/1000, mmss->now%1000); - va_list ap; + std::va_list ap; va_start(ap, format); vsnprintf(buf+pos, sizeof(buf)-pos, format, ap); va_end(ap); @@ -71,16 +74,18 @@ void mmss_logf(mmss_t *mmss, int priority, const char *format, ...) { fprintf(stderr, "%s\n", buf); } +} + void gmrf_logf(gmrf_t *gmrf, int priority, const char *format, ...) { char buf[1024]; size_t pos = 0; - pos += snprintf_safe(buf, sizeof(buf), "%s: %s", gmrf->name, get_log_prefix(priority)); + pos += MMSS::snprintf_safe(buf, sizeof(buf), "%s: %s", gmrf->name, MMSS::get_log_prefix(priority)); va_list ap; va_start(ap, format); vsnprintf(buf+pos, sizeof(buf)-pos, format, ap); va_end(ap); - mmss_logf(gmrf->mmss, priority, "%s", buf); + MMSS::logf(gmrf->mmss, priority, "%s", buf); } |