don't return .c_str() without copying it first
[SXSI/XMLTree.git] / XMLTree.h
index 67ffd6e..c6542a0 100644 (file)
--- a/XMLTree.h
+++ b/XMLTree.h
@@ -217,7 +217,14 @@ public:
     * preorder than x and not in the subtree of x. Returns NULLT if there \r
     * is none. */\r
    treeNode TaggedFoll(treeNode x, TagType tag);\r
-   \r
+  \r
+   /** TaggedFollowingSibling(x,tag) */\r
+   treeNode TaggedFollowingSibling(treeNode x, TagType tag);\r
+\r
+   /** TaggedAncestor(x, tag): returns the closest ancestor of x tagged \r
+     * tag. Return NULLT is there is none. */\r
+   treeNode TaggedAncestor(treeNode x, TagType tag);\r
\r
    /** PrevText(x): returns the document identifier of the text to the left of \r
     * node x, or NULLT if x is the root node. */\r
    DocID PrevText(treeNode x);\r
@@ -394,7 +401,8 @@ public:
    }\r
 \r
    uchar* GetCachedText(DocID d) {\r
-     return (uchar*) (CachedText.at(d).c_str());\r
+     uchar * str = (uchar*) calloc(sizeof(char),(CachedText.at(d).size() + 1));     \r
+     return (uchar*) (str);\r
    }\r
    \r
    TextCollection *getTextCollection() {\r