Loading backends/yaml/yamlconf.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -86,6 +86,7 @@ void confplus::Yaml::loadConfig(const char* path, Config* conf) { bool seq = false; bool seqMapping = false; bool gotValue = false; int seqIndex = 0; std::string key, value; int pos = 0; Loading Loading @@ -133,10 +134,12 @@ void confplus::Yaml::loadConfig(const char* path, Config* conf) { case YAML_SCALAR_EVENT: { if (key.empty()) if (key.empty() && !gotValue) std::copy(event.data.scalar.value, event.data.scalar.value + event.data.scalar.length, std::inserter<std::string>(key, std::begin(key))); else else { std::copy(event.data.scalar.value, event.data.scalar.value + event.data.scalar.length, std::inserter<std::string>(value, std::begin(value))); gotValue = true; } }break; case YAML_SEQUENCE_START_EVENT: { Loading @@ -162,7 +165,7 @@ void confplus::Yaml::loadConfig(const char* path, Config* conf) { break; } if (!key.empty() && !value.empty()) { if (!key.empty() && gotValue) { std::vector<std::string> path_elements; for (YamlStack* curst = ystack.get(); curst; curst = curst->prevel.get()) { path_elements.push_back(curst->anchor); Loading Loading @@ -193,9 +196,11 @@ void confplus::Yaml::loadConfig(const char* path, Config* conf) { conf->setValue(ckey, seqIndex, value); value.clear(); key.clear(); gotValue = false; } else { conf->setValue(ckey, pos, value); value.clear(); gotValue = false; if (!seq) { key.clear(); } Loading debian/changelog +6 −0 Original line number Diff line number Diff line libconfplus (20260525) unstable; urgency=medium * Fix sequence-of-mappings YAML parsing -- Jan Koester <jan.koester@tuxist.de> Sun, 25 May 2026 00:00:00 +0200 libconfplus (20260407) unstable; urgency=medium * New release Loading Loading
backends/yaml/yamlconf.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -86,6 +86,7 @@ void confplus::Yaml::loadConfig(const char* path, Config* conf) { bool seq = false; bool seqMapping = false; bool gotValue = false; int seqIndex = 0; std::string key, value; int pos = 0; Loading Loading @@ -133,10 +134,12 @@ void confplus::Yaml::loadConfig(const char* path, Config* conf) { case YAML_SCALAR_EVENT: { if (key.empty()) if (key.empty() && !gotValue) std::copy(event.data.scalar.value, event.data.scalar.value + event.data.scalar.length, std::inserter<std::string>(key, std::begin(key))); else else { std::copy(event.data.scalar.value, event.data.scalar.value + event.data.scalar.length, std::inserter<std::string>(value, std::begin(value))); gotValue = true; } }break; case YAML_SEQUENCE_START_EVENT: { Loading @@ -162,7 +165,7 @@ void confplus::Yaml::loadConfig(const char* path, Config* conf) { break; } if (!key.empty() && !value.empty()) { if (!key.empty() && gotValue) { std::vector<std::string> path_elements; for (YamlStack* curst = ystack.get(); curst; curst = curst->prevel.get()) { path_elements.push_back(curst->anchor); Loading Loading @@ -193,9 +196,11 @@ void confplus::Yaml::loadConfig(const char* path, Config* conf) { conf->setValue(ckey, seqIndex, value); value.clear(); key.clear(); gotValue = false; } else { conf->setValue(ckey, pos, value); value.clear(); gotValue = false; if (!seq) { key.clear(); } Loading
debian/changelog +6 −0 Original line number Diff line number Diff line libconfplus (20260525) unstable; urgency=medium * Fix sequence-of-mappings YAML parsing -- Jan Koester <jan.koester@tuxist.de> Sun, 25 May 2026 00:00:00 +0200 libconfplus (20260407) unstable; urgency=medium * New release Loading