]> mj.ucw.cz Git - libucw.git/blobdiff - sherlock/xml/parse.c
Move UCW perl modules to their directory
[libucw.git] / sherlock / xml / parse.c
index 6af0251402f3aebe871c548b6ea1758272e9b836..27141b142287c973d7385a9a30c37d9df9bed16f 100644 (file)
 #include "sherlock/xml/xml.h"
 #include "sherlock/xml/dtd.h"
 #include "sherlock/xml/internals.h"
-#include "lib/fastbuf.h"
-#include "lib/ff-unicode.h"
-#include "lib/unicode.h"
-#include "lib/chartype.h"
-#include "lib/hashfunc.h"
+#include "ucw/fastbuf.h"
+#include "ucw/ff-unicode.h"
+#include "ucw/unicode.h"
+#include "ucw/chartype.h"
+#include "ucw/hashfunc.h"
 
 #include <setjmp.h>
 
@@ -622,7 +622,7 @@ xml_attrs_init_key(struct xml_attrs_table *t UNUSED, struct xml_attr *a, struct
 #define HASH_WANT_FIND
 #define HASH_GIVE_ALLOC
 XML_HASH_GIVE_ALLOC
-#include "lib/hashtable.h"
+#include "ucw/hashtable.h"
 
 static void
 xml_parse_attr(struct xml_context *ctx)
@@ -1255,6 +1255,7 @@ xml_merge_chars(struct xml_context *ctx UNUSED, struct xml_node *node, struct me
       {
        p = mp_spread(pool, p, son->len + 1);
        memcpy(p, son->text, son->len);
+       p += son->len;
       }
   *p++ = 0;
   return mp_end(pool, p);
@@ -1268,6 +1269,7 @@ xml_append_dom_chars(char *p, struct mempool *pool, struct xml_node *node)
       {
        p = mp_spread(pool, p, son->len + 1);
        memcpy(p, son->text, son->len);
+       p += son->len;
       }
     else if (son->type == XML_NODE_ELEM)
       p = xml_append_dom_chars(p, pool, son);