(probably partly) fix list parsing implementations

This commit is contained in:
jacekpoz 2024-04-25 19:17:49 +02:00
parent a918f155b4
commit bd0b1f3e97
Signed by: poz
SSH key fingerprint: SHA256:JyLeVWE4bF3tDnFeUpUaJsPsNlJyBldDGV/dIKSLyN8

View file

@ -248,35 +248,38 @@ inline void toLower(std::string &str) {
#define VAR_LIST(section, name, type) \ #define VAR_LIST(section, name, type) \
VAR_GENERIC(section, name,\ VAR_GENERIC(section, name,\
std::vector<type> value;\ std::vector<type> value;\
) std::stringstream ss(line);\
/*std::stringstream ss(line);\ ssize_t line_len = line.size();\
type val;\ type val;\
while (ss >> val) {\ while (ss >> val) {\
std::getline(configFile, line);\ std::getline(configFile, line);\
}\ }\
)*/ configFile.seekg(configFile.tellg() - line_len);\
)
#define VAR_LIST_SEP(section, name, type, sep) \ #define VAR_LIST_SEP(section, name, type, sep) \
VAR_GENERIC(section, name,\ VAR_GENERIC(section, name,\
std::vector<type> value;\ std::vector<type> value;\
) std::stringstream ss(line);\
/*std::stringstream ss(line);\ ssize_t line_len = line.size();\
std::string val;\
type type_val;\ type type_val;\
while (std::stringstream(val) >> type_val) {\ for (std::string val; std::getline(ss, val, sep);) {\
std::getline(ss, val, ',');\ std::stringstream(val) >> type_val;\
value.push_back(type_val);\
}\ }\
)*/ configFile.seekg(configFile.tellg() - line_len);\
)
#define VAR_LIST_SEP_P(section, name, type, sep, prefix) \ #define VAR_LIST_SEP_P(section, name, type, sep, prefix) \
VAR_GENERIC_P(section, name, prefix,\ VAR_GENERIC_P(section, name, prefix,\
std::vector<type> value;\ std::vector<type> value;\
) std::stringstream ss(checkAndRemove(line, prefix));\
/*std::stringstream ss(line);\ ssize_t line_len = line.size();\
std::string val;\
type type_val;\ type type_val;\
while (std::stringstream(val) >> type_val) {\ for (std::string val; std::getline(ss, val, sep);) {\
std::getline(ss, val, ',');\ std::stringstream(val) >> type_val;\
value.push_back(type_val);\
}\ }\
)*/ configFile.seekg(configFile.tellg() - line_len);\
)
#define VAR_LIST_NUMBERED(section, name, type) \ #define VAR_LIST_NUMBERED(section, name, type) \
VAR_GENERIC(section, name,\ VAR_GENERIC(section, name,\
std::vector<type> value;\ std::vector<type> value;\