fixed bug in UTF8 string tokenize kindly reported by Vasily Tchekalkin
authorWilliam M. Brack <wbrack@src.gnome.org>
Mon, 19 Apr 2004 16:27:33 +0000 (16:27 +0000)
committerWilliam M. Brack <wbrack@src.gnome.org>
Mon, 19 Apr 2004 16:27:33 +0000 (16:27 +0000)
* libexslt/strings.c: fixed bug in UTF8 string tokenize
  kindly reported by Vasily Tchekalkin

ChangeLog
libexslt/strings.c

index c3ab71c..4090d4d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+The Apr 20 00:22:37 HKT 2004 William Brack <wbrack@mmm.com.hk>
+
+       * libexslt/strings.c: fixed bug in UTF8 string tokenize
+         kindly reported by Vasily Tchekalkin
+
 Mon Apr 19 00:39:18 CEST 2004 Daniel Veillard <daniel@veillard.com>
 
        * configure.in doc/*: preparing release 1.1.6
index 7c5c99a..39c1a3e 100644 (file)
@@ -38,7 +38,7 @@ exsltStrTokenizeFunction(xmlXPathParserContextPtr ctxt, int nargs)
     xmlNodePtr node;
     xmlDocPtr container;
     xmlXPathObjectPtr ret = NULL;
-    int clen, tlen;
+    int clen;
 
     if ((nargs < 1) || (nargs > 2)) {
         xmlXPathSetArityError(ctxt);
@@ -78,7 +78,7 @@ exsltStrTokenizeFunction(xmlXPathParserContextPtr ctxt, int nargs)
             for (cur = str, token = str; *cur != 0; cur += clen) {
                clen = xmlUTF8Size(cur);
                 for (delimiter = delimiters; *delimiter != 0;
-                               delimiter += tlen) {
+                               delimiter += xmlUTF8Size(delimiter)) {
                     if (!xmlUTF8Charcmp(cur, delimiter)) {
                         if (cur == token) {
                             /* discard empty tokens */
@@ -94,7 +94,6 @@ exsltStrTokenizeFunction(xmlXPathParserContextPtr ctxt, int nargs)
                         token = cur + clen;
                         break;
                     }
-                   tlen = xmlUTF8Size(token);
                 }
             }
             if (token != cur) {