diff --git a/src/definition/DefinitionNode.cpp b/src/definition/DefinitionNode.cpp index f110f00..d5c3483 100644 --- a/src/definition/DefinitionNode.cpp +++ b/src/definition/DefinitionNode.cpp @@ -91,8 +91,7 @@ DefinitionNode *DefinitionNode::findByPath(const string &path) const { } else { size_t seppos = path.find("/"); string child_name = (seppos == string::npos) ? path : path.substr(0, seppos); - DefinitionNode *child = - ((DefinitionNode *)this)->findChildByName(child_name); // FIXME findChildByName should be const + DefinitionNode *child = findChildByName(child_name); if (child) { if (seppos == string::npos) { return child; @@ -231,7 +230,7 @@ void DefinitionNode::removeChild(DefinitionNode *child) { } } -DefinitionNode *DefinitionNode::findChildByName(const string name) { +DefinitionNode *DefinitionNode::findChildByName(const string &name) const { for (auto child : children) { if (child->name == name) { return child; diff --git a/src/definition/DefinitionNode.h b/src/definition/DefinitionNode.h index 9561e76..4f69a3f 100644 --- a/src/definition/DefinitionNode.h +++ b/src/definition/DefinitionNode.h @@ -98,7 +98,7 @@ class DEFINITIONSHARED_EXPORT DefinitionNode { protected: void addChild(DefinitionNode *child); void removeChild(DefinitionNode *child); - virtual DefinitionNode *findChildByName(const string name); + virtual DefinitionNode *findChildByName(const string &name) const; /** * Get the size in bytes this child will consume when serialized to a stream.