From 2cd9086c95686117ffbce92188d50d525ed488bb Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 11 Aug 2012 22:06:47 +0100 Subject: Various tweaks for a real-life DCP. --- src/xml.cc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/xml.cc') diff --git a/src/xml.cc b/src/xml.cc index 4ab6a2e7..72dfe1bb 100644 --- a/src/xml.cc +++ b/src/xml.cc @@ -107,6 +107,27 @@ XMLNode::int64_node (string name) return lexical_cast (string_node (name)); } +int64_t +XMLNode::optional_int64_node (string name) +{ + list nodes = xml_nodes (name); + if (nodes.size() > 2) { + throw XMLError ("duplicate XML tag " + name); + } + + if (nodes.empty ()) { + return 0; + } + + return int64_node (name); +} + +float +XMLNode::float_node (string name) +{ + return lexical_cast (string_node (name)); +} + void XMLNode::ignore_node (string name) { -- cgit v1.2.3