From c6df2bc42ca82eb75136112c3ad5610a42c1ea6a Mon Sep 17 00:00:00 2001 From: kwolekr Date: Mon, 29 Dec 2014 23:15:53 -0500 Subject: [PATCH] Add support back for resolving group names in NodeResolver --- src/nodedef.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/nodedef.cpp b/src/nodedef.cpp index f87daa528..f01a7e87b 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -1356,13 +1356,21 @@ bool CNodeDefManager::getIdsFromResolveInfo(NodeResolveInfo *nri, std::string name = nri->nodenames.front(); nri->nodenames.pop_front(); - if (getId(name, c)) { - result.push_back(c); - } else if (listinfo.all_required) { - errorstream << "Resolver: Failed to resolve node name '" << name - << "'." << std::endl; - result.push_back(listinfo.c_fallback); - success = false; + if (name.substr(0,6) != "group:") { + if (getId(name, c)) { + result.push_back(c); + } else if (listinfo.all_required) { + errorstream << "Resolver: Failed to resolve node name '" << name + << "'." << std::endl; + result.push_back(listinfo.c_fallback); + success = false; + } + } else { + std::set cids; + std::set::iterator it; + getIds(name, cids); + for (it = cids.begin(); it != cids.end(); ++it) + result.push_back(*it); } }