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