From 71c94e69438c7c282b2dcac5ead080119944b290 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 31 Oct 2006 02:40:08 +0000 Subject: massive changes in automation state handling, not entirely complete; some bug fixes for automation line drawing git-svn-id: svn://localhost/ardour2/trunk@1034 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/pbd/xml++.cc | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'libs/pbd/xml++.cc') diff --git a/libs/pbd/xml++.cc b/libs/pbd/xml++.cc index 03fa116279..1b10be89f5 100644 --- a/libs/pbd/xml++.cc +++ b/libs/pbd/xml++.cc @@ -216,13 +216,38 @@ XMLNode::set_content(const string & c) return _content; } +XMLNode* +XMLNode::child (const char *name) const +{ + /* returns first child matching name */ + + static XMLNodeList retval; + XMLNodeConstIterator cur; + + if (name == 0) { + return 0; + } + + retval.erase(retval.begin(), retval.end()); + + for (cur = _children.begin(); cur != _children.end(); ++cur) { + if ((*cur)->name() == name) { + return *cur; + } + } + + return 0; +} + const XMLNodeList & -XMLNode::children(const string & n) const +XMLNode::children(const string& n) const { + /* returns all children matching name */ + static XMLNodeList retval; XMLNodeConstIterator cur; - if (n.length() == 0) { + if (n.empty()) { return _children; } -- cgit v1.2.3