From 5abbf445833f985f2aa22bde57d47cd9f83d0c92 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Mon, 5 Mar 2012 05:02:11 -0600 Subject: Corrected copy of format_t objects Copying of sub-elements was causing pointer overlap. --- src/format.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/format.cc') diff --git a/src/format.cc b/src/format.cc index 4ff1fc19..97dcfb22 100644 --- a/src/format.cc +++ b/src/format.cc @@ -40,6 +40,17 @@ namespace ledger { format_t::elision_style_t format_t::default_style = TRUNCATE_TRAILING; bool format_t::default_style_changed = false; +format_t::element_t::element_t(const element_t& elem) + : supports_flags<>(), + type(elem.type), + min_width(elem.min_width), + max_width(elem.max_width), + data(elem.data), + next(elem.next ? new element_t(*elem.next) : NULL) +{ + TRACE_CTOR(element_t, "copy"); +} + void format_t::element_t::dump(std::ostream& out) const { out << "Element: "; -- cgit v1.2.3