From 53dbb04cf97ad982b1465aee2d99afa6ecaf74af Mon Sep 17 00:00:00 2001 From: jacekpoz Date: Tue, 16 Jul 2024 10:47:46 +0200 Subject: [PATCH] get rid of default enum parsing warning --- src/osuparser.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/osuparser.cpp b/src/osuparser.cpp index 237b68d..4084c83 100644 --- a/src/osuparser.cpp +++ b/src/osuparser.cpp @@ -177,13 +177,19 @@ inline std::string checkAndRemove(const std::string &str, const std::string &pre enum_type value;\ ss >> value; +#define ENUM_D(enum_type, default) \ + std::string val = checkAndRemove(line, _prefix);\ + std::stringstream ss(val);\ + enum_type value = default;\ + ss >> value; + #define ENUM(name, ...) #define VAR_ENUM(section, name, enum_type) \ VAR_GENERIC(section, name, ENUM_GENERIC(enum_type)) #define VAR_ENUM_P(section, name, enum_type, prefix) \ VAR_GENERIC_P(section, name, prefix, ENUM_GENERIC(enum_type)) #define VAR_ENUM_D(section, name, enum_type, default) \ - VAR_GENERIC_D(section, name, enum_type::default, ENUM_GENERIC(enum_type)) + VAR_GENERIC_D(section, name, enum_type::default, ENUM_D(enum_type, enum_type::default)) #define STRUCT_INPUT_STREAM_OP(name, ...) #define STRUCT_OUTPUT_STREAM_OP(name, ...)