Vincent Povirk : xmllite: Fix reader_cmp for multiple characters.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Feb 23 09:04:42 CST 2015


Module: wine
Branch: master
Commit: 8615365945d631df5a3983528963bb2c7a05ff33
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8615365945d631df5a3983528963bb2c7a05ff33

Author: Vincent Povirk <vincent at codeweavers.com>
Date:   Fri Feb 20 12:54:32 2015 -0600

xmllite: Fix reader_cmp for multiple characters.

---

 dlls/xmllite/reader.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/dlls/xmllite/reader.c b/dlls/xmllite/reader.c
index cf89fb7..2aa9d95 100644
--- a/dlls/xmllite/reader.c
+++ b/dlls/xmllite/reader.c
@@ -900,8 +900,20 @@ static inline WCHAR *reader_get_ptr(xmlreader *reader)
 
 static int reader_cmp(xmlreader *reader, const WCHAR *str)
 {
+    int i=0;
     const WCHAR *ptr = reader_get_ptr(reader);
-    return strncmpW(str, ptr, strlenW(str));
+    while (str[i])
+    {
+        if (!ptr[i])
+        {
+            reader_more(reader);
+            ptr = reader_get_ptr(reader);
+        }
+        if (str[i] != ptr[i])
+            return ptr[i] - str[i];
+        i++;
+    }
+    return 0;
 }
 
 /* moves cursor n WCHARs forward */




More information about the wine-cvs mailing list