Module: wine Branch: master Commit: 8615365945d631df5a3983528963bb2c7a05ff33 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8615365945d631df5a39835289...
Author: Vincent Povirk vincent@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 */