summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYaroslav Mamykin (GitHub) <ymamykin@luxoft.com>2019-09-25 14:12:56 +0300
committerYarik <ymamykin@gmail.com>2019-11-15 15:16:38 +0200
commit352eec9ec6f48fdaf43476a3511f8ecd86d43384 (patch)
tree3eec44ce9a81fcbb022681737e85d3244006e56f
parentaae039cebca500b8c96981b2d8c650722b5599bd (diff)
downloadsdl_core-352eec9ec6f48fdaf43476a3511f8ecd86d43384.tar.gz
fixup! Fix versioning appliance for vehicle data
-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);
}
}
}