summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libcamera/base/log.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libcamera/base/log.cpp b/src/libcamera/base/log.cpp
index 009f6c73..42514de9 100644
--- a/src/libcamera/base/log.cpp
+++ b/src/libcamera/base/log.cpp
@@ -8,6 +8,7 @@
#include <libcamera/base/log.h>
#include <array>
+#include <charconv>
#include <fnmatch.h>
#include <fstream>
#include <iostream>
@@ -686,12 +687,11 @@ LogSeverity Logger::parseLogLevel(const std::string &level)
"FATAL",
};
- int severity;
+ unsigned int severity;
if (std::isdigit(level[0])) {
- char *endptr;
- severity = strtoul(level.c_str(), &endptr, 10);
- if (*endptr != '\0' || severity > LogFatal)
+ auto [end, ec] = std::from_chars(level.data(), level.data() + level.size(), severity);
+ if (ec != std::errc() || *end != '\0' || severity > LogFatal)
severity = LogInvalid;
} else {
severity = LogInvalid;