}
}
-
+
// Create the attributes table for Root (i.e. Tree)
LevelDescriptor::AttributeDescriptorListType::const_iterator a;
for (a = GetTree().GetAttributeDescriptorList(0).begin();
//========================================================================
///
- std::string& SQLformat(std::string& str)
+ void SQLformat(std::string i_str, std::string &o_str)
{
- // quote must be doubled
- boost::algorithm::replace_all(str,"'","''");
- // Found strange strings which contained NULL char INSIDE string
- int i,size=str.size();
- for (i=0;i<size;++i)
- {
- if (str[i]==0)
- {
- str = str.substr(0,i);
- break;
- }
- }
- // if (i<str.size())
- return str;
+ // quote must be doubled
+ boost::algorithm::replace_all(i_str,"'","''");
+ // Found strange strings which contained NULL char INSIDE string
+ int i,size=i_str.size();
+ for (i=0;i<size;++i)
+ {
+ if (i_str[i]==0)
+ {
+ i_str = i_str.substr(0,i);
+ break;
+ }
+ }
+ o_str = i_str;
}
//========================================================================
GimmickMessage(4,"SQLAppendAttributesValues"<<std::endl);
std::string atts="";
std::string values="";
+ std::string out ="";
tree::Node::AttributeMapType::iterator i;
for (i = n->GetAttributeMap().begin();
i != n->GetAttributeMap().end();
}
atts += "'" + i->first + "'";
- values += "'" + SQLformat(i->second) + "'";
+ SQLformat(i->second, out);
+ values += "'" + out + "'";
atts += ",";
values += ",";
GimmickMessage(4,"'"<<i->first<<"' = '"<<i->second<<"'"<<std::endl);