From 1e8a5b58b4919d3c2e859b3c00ecc243146027f1 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Mon, 5 Dec 2011 18:22:25 -0800 Subject: [PATCH] only serialize Parameters if one or more exist --- src/save_map.cpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/save_map.cpp b/src/save_map.cpp index 41496a882..f7616f3e2 100644 --- a/src/save_map.cpp +++ b/src/save_map.cpp @@ -793,19 +793,21 @@ class serialize_type : public boost::static_visitor<> void serialize_parameters( ptree & map_node, mapnik::parameters const& params) { - ptree & params_node = map_node.push_back( - ptree::value_type("Parameters", ptree()))->second; - - parameters::const_iterator it = params.begin(); - parameters::const_iterator end = params.end(); - for (; it != end; ++it) - { - boost::property_tree::ptree & param_node = params_node.push_back( - boost::property_tree::ptree::value_type("Parameter", - boost::property_tree::ptree()))->second; - param_node.put(".name", it->first ); - param_node.put_value( it->second ); - boost::apply_visitor(serialize_type(param_node),it->second); + if (params.size()) { + ptree & params_node = map_node.push_back( + ptree::value_type("Parameters", ptree()))->second; + + parameters::const_iterator it = params.begin(); + parameters::const_iterator end = params.end(); + for (; it != end; ++it) + { + boost::property_tree::ptree & param_node = params_node.push_back( + boost::property_tree::ptree::value_type("Parameter", + boost::property_tree::ptree()))->second; + param_node.put(".name", it->first ); + param_node.put_value( it->second ); + boost::apply_visitor(serialize_type(param_node),it->second); + } } }