From a38ed141c1f33ecdad99b322acb1ae07b30a5da2 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Fri, 18 May 2012 01:31:01 -0600 Subject: Switched to Boost.PropertyTree for XML generation --- src/commodity.cc | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) (limited to 'src/commodity.cc') diff --git a/src/commodity.cc b/src/commodity.cc index a72d85c8..54459155 100644 --- a/src/commodity.cc +++ b/src/commodity.cc @@ -496,29 +496,22 @@ bool commodity_t::compare_by_commodity::operator()(const amount_t * left, } } -void to_xml(std::ostream& out, const commodity_t& comm, - bool commodity_details) +void put_commodity(property_tree::ptree& pt, const commodity_t& comm, + bool commodity_details) { - push_xml x(out, "commodity", true); + property_tree::ptree& st(pt.put("commodity", "")); - out << " flags=\""; - if (! (comm.has_flags(COMMODITY_STYLE_SUFFIXED))) out << 'P'; - if (comm.has_flags(COMMODITY_STYLE_SEPARATED)) out << 'S'; - if (comm.has_flags(COMMODITY_STYLE_THOUSANDS)) out << 'T'; - if (comm.has_flags(COMMODITY_STYLE_DECIMAL_COMMA)) out << 'D'; - out << '"'; + std::string flags; + if (! (comm.has_flags(COMMODITY_STYLE_SUFFIXED))) flags += 'P'; + if (comm.has_flags(COMMODITY_STYLE_SEPARATED)) flags += 'S'; + if (comm.has_flags(COMMODITY_STYLE_THOUSANDS)) flags += 'T'; + if (comm.has_flags(COMMODITY_STYLE_DECIMAL_COMMA)) flags += 'D'; + st.put(".flags", flags); - x.close_attrs(); + st.put("symbol", comm.symbol()); - { - push_xml y(out, "symbol"); - out << y.guard(comm.symbol()); - } - - if (commodity_details) { - if (comm.has_annotation()) - to_xml(out, as_annotated_commodity(comm).details); - } + if (commodity_details && comm.has_annotation()) + put_annotation(st, as_annotated_commodity(comm).details); } } // namespace ledger -- cgit v1.2.3