From 6085c53ea2191d405dc25c19987165f2a69be6e2 Mon Sep 17 00:00:00 2001 From: ToruNiina Date: Sat, 20 Jul 2024 17:21:56 +0900 Subject: [PATCH] fix: skip null char in string literal --- include/toml11/utility.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/toml11/utility.hpp b/include/toml11/utility.hpp index b82b3f4..9e30ccb 100644 --- a/include/toml11/utility.hpp +++ b/include/toml11/utility.hpp @@ -119,8 +119,9 @@ struct string_conv_impl static std::basic_string invoke(const Char2 (&s)[N]) { std::basic_string retval; - std::transform(std::begin(s), std::end(s), std::back_inserter(retval), - [](const char c) {return static_cast(c);}); + // "string literal" has null-char at the end. to skip it, we use prev. + std::transform(std::begin(s), std::prev(std::end(s)), std::back_inserter(retval), + [](const Char2 c) {return static_cast(c);}); return retval; } };