summaryrefslogtreecommitdiff
path: root/src/components/smart_objects/src/object_schema_item.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/smart_objects/src/object_schema_item.cc')
-rw-r--r--src/components/smart_objects/src/object_schema_item.cc15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/components/smart_objects/src/object_schema_item.cc b/src/components/smart_objects/src/object_schema_item.cc
index 876749b256..8b75e79130 100644
--- a/src/components/smart_objects/src/object_schema_item.cc
+++ b/src/components/smart_objects/src/object_schema_item.cc
@@ -252,23 +252,22 @@ CObjectSchemaItem::CObjectSchemaItem(const Members& members)
void CObjectSchemaItem::RemoveFakeParams(
SmartObject& Object, const utils::SemanticVersion& MessageVersion) {
- for (SmartMap::const_iterator it = Object.map_begin(); it != Object.map_end();
- ++it) {
- const std::string& key = it->first;
+ for (const auto& key : Object.enumerate()) {
std::map<std::string, SMember>::const_iterator members_it =
mMembers.find(key);
- if (mMembers.end() == members_it && key.compare(connection_key) != 0 &&
- key.compare(binary_data) != 0 && key.compare(app_id) != 0) {
- Object.erase(key);
- }
-
if (mMembers.end() != members_it) {
const SMember& member =
GetCorrectMember(members_it->second, MessageVersion);
if (member.mIsRemoved || !member.mIsValid) {
Object.erase(key);
}
+ continue;
+ }
+
+ if (mMembers.end() == members_it && key.compare(connection_key) != 0 &&
+ key.compare(binary_data) != 0 && key.compare(app_id) != 0) {
+ Object.erase(key);
}
}
}