Fix a libcds bug:
[SXSI/XMLTree.git] / xml-tree-builder.cpp
index 0b7effc..19ce5dc 100644 (file)
@@ -94,7 +94,7 @@ void xml_tree_builder::open_tag(std::string tag)
   int32_t id = register_tag(tag);
   tags->push_back(id);
   par->push_back(true);
-  if (!disable_text_index) text_positions->push_back(false);
+  if (!disable_text_index) text_positions->set_le(text_positions->size(), false);
 }
 
 void xml_tree_builder::close_tag(std::string)
@@ -102,7 +102,7 @@ void xml_tree_builder::close_tag(std::string)
   xml_tree::tag_t t = xml_tree::CLOSE_TAG_ID;
   tags->push_back(t);
   par->push_back(false);
-  if (!disable_text_index) text_positions->push_back(false);
+  if (!disable_text_index) text_positions->set_le(text_positions->size(), false);
 }
 
 void xml_tree_builder::text(std::string s)
@@ -110,7 +110,7 @@ void xml_tree_builder::text(std::string s)
   if (!disable_text_index){
     if (s.empty()) s = "\001";
     tc_builder->InsertText((const unsigned char *) s.c_str());
-    text_positions->set(text_positions->size() - 1, true);
+    text_positions->set_le(text_positions->size() - 1, true);
   }
 }