From dcaabe0e1caac4582be4534fb6ef79b9fa079a16 Mon Sep 17 00:00:00 2001 From: Baptiste Wicht Date: Tue, 2 Aug 2016 18:08:01 +0200 Subject: [PATCH] Use printf_raw This has the advantage of no memory allocation! --- kernel/src/logging.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/kernel/src/logging.cpp b/kernel/src/logging.cpp index 86f82eab..6bbc9ffc 100644 --- a/kernel/src/logging.cpp +++ b/kernel/src/logging.cpp @@ -114,8 +114,9 @@ void logging::log(log_level level, const std::string& s){ void logging::logf(log_level level, const char* s, va_list va){ thor_assert(!is_early(), "logf(level,string,...) is not valid in early mode"); - auto formatted = vsprintf(s, va); - log(level, formatted.c_str()); + char buffer[1024]; + vsprintf_raw(buffer, 1024, s, va); + log(level, buffer); } void logging::logf(log_level level, const char* s, ...){ @@ -123,8 +124,10 @@ void logging::logf(log_level level, const char* s, ...){ va_list va; va_start(va, s); - auto formatted = vsprintf(s, va); - va_end(va); - log(level, formatted.c_str()); + char buffer[1024]; + vsprintf_raw(buffer, 1024, s, va); + log(level, buffer); + + va_end(va); }