diff --git a/ifmap_parser.py b/ifmap_parser.py index 985653d..fcc908e 100644 --- a/ifmap_parser.py +++ b/ifmap_parser.py @@ -259,16 +259,11 @@ def getMetaParentName(meta): file.write(" if (parent.IsNull()) return true;\n") if info.ctypename == 'std::string': - file.write(indent + 'std::string var;\n') - file.write(indent + 'if (!autogen::ParseString(parent, &var)) return false;\n') - file.write(indent + 'data->data = var;\n') + file.write(indent + 'if (!autogen::ParseString(parent, &data->data)) return false;\n') elif info.ctypename == 'int': - file.write(indent + 'if (!parent.IsInt()) return false;\n') - file.write(indent + - 'data->data = parent.GetInt();\n') + file.write(indent + 'if (!autogen::ParseInteger(parent, &data->data)) return false;\n') elif info.ctypename == 'bool': - file.write(indent + 'if (!parent.IsBool()) return false;\n'); - file.write(indent + 'data->data = parent.GetBool();\n'); + file.write(indent + 'if (!autogen::ParseBoolean(parent, &data->data)) return false;\n') file.write(indent + 'return true;\n') file.write('}\n\n') diff --git a/type_parser.py b/type_parser.py index 189ed75..8766022 100644 --- a/type_parser.py +++ b/type_parser.py @@ -69,8 +69,6 @@ def GenerateJsonTypeParser(self, file, ctype): file.write(indent1 + '%s.push_back(var);\n' % member.membername) elif member.sequenceType == 'int': - file.write(indent1 + - 'if (!value_node[i].IsInt()) return false;\n') file.write(indent1 + 'int var;\n') file.write(indent1 + 'if (!ParseInteger(value_node[i], &var)) return false;\n')