X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=XMLTree.cpp;h=119048d338bffd07f5bde85216249ef63b473e88;hb=88a969355559d4009a36a6c6dd1644ad32efcf93;hp=40d80555a6838486be8b3b9ac3cfa59a8e9c2867;hpb=8b92ac7e539c796ee3160078b5ca30537f26ea51;p=SXSI%2FXMLTree.git diff --git a/XMLTree.cpp b/XMLTree.cpp index 40d8055..119048d 100644 --- a/XMLTree.cpp +++ b/XMLTree.cpp @@ -928,9 +928,11 @@ void XMLTree::Print(int fd,treeNode x, bool no_text){ if (buffer == 0) { buffer = new string(BUFFER_ALLOC, 0); + buffer->clear(); print_stack = new std::vector(); print_stack->reserve(256); }; + treeNode fin = fast_find_close(Par,x); treeNode n = x; TagType tag = Tag(n); @@ -953,6 +955,7 @@ void XMLTree::Print(int fd,treeNode x, bool no_text){ current_text = GetText(MyTextUnsafe(first_idx)); size_t read = 0; + while (n <= fin){ if (fast_inspect(Par,n)){ if (tag == PCDATA_TAG_ID) {