2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-09-03 07:25:18 +00:00

[#404,!243] Addressed review comments

Minor clean up and commentary.
This commit is contained in:
Thomas Markwalder
2019-02-27 15:07:27 -05:00
parent f4c76a1869
commit efa1cb60e2

View File

@@ -208,28 +208,26 @@ CfgOptionDef::toElement() const {
void
CfgOptionDef::merge(CfgOptionDef& other) {
// The definitions in "other" are presumed to be valid and
// not in conflict with standard definitions.
if (other.getContainer().getOptionSpaceNames().empty()) {
// Nothing to merge, don't waste cycles.
return;
}
// Iterate over this config's definitions in each space.
// If either a definition's name or code already exist in
// that space in "other", skip it. Otherwise, add it to "other".
auto spaces = option_definitions_.getOptionSpaceNames();
for (auto space = spaces.begin(); space != spaces.end(); ++space) {
OptionDefContainerPtr my_defs = getAll(*space);
for (auto my_def = my_defs->begin(); my_def != my_defs->end(); ++my_def) {
if ((other.get(*space, (*my_def)->getName())) ||
(other.get(*space, (*my_def)->getCode()))) {
for (auto space : option_definitions_.getOptionSpaceNames()) {
for (auto my_def : *(getAll(space))) {
if ((other.get(space, my_def->getName())) ||
(other.get(space, my_def->getCode()))) {
// Already in "other" so skip it.
continue;
}
// Not in "other" so add it.
other.add(*my_def, *space);
other.add(my_def, space);
}
}