Only in property_tree: bin Only in property_tree/boost/property_tree: index.html diff -urp --exclude='*~' property_tree.orig/boost/property_tree/xml_parser_read_spirit.hpp property_tree/boost/property_tree/xml_parser_read_spirit.hpp --- property_tree.orig/boost/property_tree/xml_parser_read_spirit.hpp 2005-11-09 21:05:44.000000000 -0500 +++ property_tree/boost/property_tree/xml_parser_read_spirit.hpp 2005-11-10 12:17:45.000000000 -0500 @@ -97,7 +97,7 @@ namespace boost { namespace property_tre a_attr_key(context &c): c(c) { } void operator()(It b, It e) const { - c.stack.back()->put_child(Ch('/'), xmlattr() + Ch('/') + Str(b, e), NULL); + c.stack.back()->put_child(Ch('/'), xmlattr() + Str(b, e), NULL); } }; @@ -107,8 +107,8 @@ namespace boost { namespace property_tre a_attr_data(context &c): c(c) { } void operator()(It b, It e) const { - Ptree *attr = c.stack.back()->get_child(xmlattr()); - attr->back().second.data().assign(Str(b + 1, e - 1)); + Ptree *attr = &c.stack.back()->back().second; + attr->data().assign(Str(b + 1, e - 1)); } }; diff -urp --exclude='*~' property_tree.orig/boost/property_tree/xml_parser_utils.hpp property_tree/boost/property_tree/xml_parser_utils.hpp --- property_tree.orig/boost/property_tree/xml_parser_utils.hpp 2005-11-09 21:05:44.000000000 -0500 +++ property_tree/boost/property_tree/xml_parser_utils.hpp 2005-11-10 12:05:59.000000000 -0500 @@ -93,7 +93,7 @@ namespace boost { namespace property_tre template const std::basic_string &xmlattr() { - static std::basic_string s = detail::widen(""); + static std::basic_string s = detail::widen("@"); return s; } diff -urp --exclude='*~' property_tree.orig/boost/property_tree/xml_parser_write.hpp property_tree/boost/property_tree/xml_parser_write.hpp --- property_tree.orig/boost/property_tree/xml_parser_write.hpp 2005-11-02 12:55:12.000000000 -0500 +++ property_tree/boost/property_tree/xml_parser_write.hpp 2005-11-10 12:24:19.000000000 -0500 @@ -59,7 +59,7 @@ namespace boost { namespace property_tre // Find if elements present bool has_elements = false; for (It it = pt.begin(); it != pt.end(); ++it) - if (it->first != xmlattr() && + if (it->first.find (xmlattr ()) != 0 && it->first != xmltext()) { has_elements = true; @@ -85,11 +85,12 @@ namespace boost { namespace property_tre stream << Ch('<') << key; // Write attributes - const Ptree *attribs; - if (pt.get_child_b(xmlattr(), &attribs)) - for (It it = attribs->begin(); it != attribs->end(); ++it) - stream << Ch(' ') << it->first << Ch('=') << - Ch('"') << it->second.data() << Ch('"'); + for (It it = pt.begin (); it != pt.end (); ++it) + if (it->first.find (xmlattr ()) == 0) + stream << Ch(' ') + << it->first.substr (xmlattr ().size()) + << Ch('=') + << Ch('"') << it->second.data() << Ch('"'); // Write closing brace stream << Ch('>'); @@ -107,7 +108,7 @@ namespace boost { namespace property_tre // Write elements, comments and texts for (It it = pt.begin(); it != pt.end(); ++it) { - if (it->first == xmlattr()) + if (it->first.find (xmlattr ()) == 0) continue; else if (it->first == xmlcomment()) write_xml_comment(stream, it->second.data(), indent + 1); Only in property_tree.orig/libs/property_tree: index.html diff -urp --exclude='*~' property_tree.orig/libs/property_tree/test/test_xml_parser_spirit.cpp property_tree/libs/property_tree/test/test_xml_parser_spirit.cpp --- property_tree.orig/libs/property_tree/test/test_xml_parser_spirit.cpp 2005-11-09 21:05:46.000000000 -0500 +++ property_tree/libs/property_tree/test/test_xml_parser_spirit.cpp 2005-11-10 12:59:59.000000000 -0500 @@ -63,7 +63,7 @@ void test_xml_parser() generic_parser_test_ok ( ReadFunc(), WriteFunc(), ok_data_3, NULL, - "testok3.xml", NULL, "testok3out.xml", 787, 31346, 3831 + "testok3.xml", NULL, "testok3out.xml", 668, 31346, 2908 ); generic_parser_test_ok Only in property_tree/libs/property_tree/test: testerr1.info Only in property_tree/libs/property_tree/test: testerr1.ini Only in property_tree/libs/property_tree/test: testerr1.xml Only in property_tree/libs/property_tree/test: testerr2.info Only in property_tree/libs/property_tree/test: testerr2.ini Only in property_tree/libs/property_tree/test: testerr2.xml Only in property_tree/libs/property_tree/test: testerr3.info Only in property_tree/libs/property_tree/test: testerr3.ini Only in property_tree/libs/property_tree/test: testerr4.info Only in property_tree/libs/property_tree/test: testerr5.info Only in property_tree/libs/property_tree/test: testok1.info Only in property_tree/libs/property_tree/test: testok1.ini Only in property_tree/libs/property_tree/test: testok1.xml Only in property_tree/libs/property_tree/test: testok1_inc.info Only in property_tree/libs/property_tree/test: testok1out.info Only in property_tree/libs/property_tree/test: testok1out.ini Only in property_tree/libs/property_tree/test: testok1out.xml Only in property_tree/libs/property_tree/test: testok2.info Only in property_tree/libs/property_tree/test: testok2.ini Only in property_tree/libs/property_tree/test: testok2.xml Only in property_tree/libs/property_tree/test: testok2out.info Only in property_tree/libs/property_tree/test: testok2out.ini Only in property_tree/libs/property_tree/test: testok2out.xml Only in property_tree/libs/property_tree/test: testok3.info Only in property_tree/libs/property_tree/test: testok3.ini Only in property_tree/libs/property_tree/test: testok3.xml Only in property_tree/libs/property_tree/test: testok3out.info Only in property_tree/libs/property_tree/test: testok3out.ini Only in property_tree/libs/property_tree/test: testok3out.xml Only in property_tree/libs/property_tree/test: testok4.info Only in property_tree/libs/property_tree/test: testok4.ini Only in property_tree/libs/property_tree/test: testok4.xml Only in property_tree/libs/property_tree/test: testok4out.info Only in property_tree/libs/property_tree/test: testok4out.ini Only in property_tree/libs/property_tree/test: testok4out.xml