Key words and seplacements are case insensitive

Jacek Caban jack at itma.pwr.wroc.pl
Sat Mar 19 12:40:53 CST 2005


Changelog:
    Key words and seplacements are case insensitive
-------------- next part --------------
Index: dlls/atl/registrar.c
===================================================================
RCS file: /home/wine/wine/dlls/atl/registrar.c,v
retrieving revision 1.5
diff -u -p -r1.5 registrar.c
--- dlls/atl/registrar.c	19 Mar 2005 17:04:13 -0000	1.5
+++ dlls/atl/registrar.c	19 Mar 2005 18:30:18 -0000
@@ -169,12 +169,14 @@ static HRESULT do_preprocess(Registrar *
             strbuf_write(wstr, buf, 1);
         }else {
             for(rep_iter = This->rep; rep_iter; rep_iter = rep_iter->next) {
-                if(rep_iter->key_len == iter-iter2 
-                        && !memcmp(iter2, rep_iter->key, rep_iter->key_len*sizeof(OLECHAR)))
+                if(rep_iter->key_len == iter-iter2 && CompareStringW(LOCALE_USER_DEFAULT, NORM_IGNORECASE,
+                            iter2, iter-iter2, rep_iter->key, rep_iter->key_len) == CSTR_EQUAL)
                     break;
             }
-            if(!rep_iter)
+            if(!rep_iter) {
+                WARN("Could not find replacement: %s\n", debugstr_wn(iter2, iter-iter2));
                 return DISP_E_EXCEPTION;
+            }
 
             strbuf_write(rep_iter->item, buf, -1);
         }
@@ -218,13 +220,13 @@ static HRESULT do_process_key(LPCOLESTR 
 
     while(buf->str[1] || buf->str[0] != '}') {
         key_type = NORMAL;
-        if(!lstrcmpW(buf->str, wstrNoRemove))
+        if(CompareStringW(LOCALE_USER_DEFAULT, NORM_IGNORECASE, buf->str, -1, wstrNoRemove, -1) == CSTR_EQUAL)
             key_type = NO_REMOVE;
-        else if(!lstrcmpW(buf->str, wstrForceRemove))
+        else if(CompareStringW(LOCALE_USER_DEFAULT, NORM_IGNORECASE, buf->str, -1, wstrForceRemove, -1) == CSTR_EQUAL)
             key_type = FORCE_REMOVE;
-        else if(!lstrcmpW(buf->str, wstrval))
+        else if(CompareStringW(LOCALE_USER_DEFAULT, NORM_IGNORECASE, buf->str, -1, wstrval, -1) == CSTR_EQUAL)
             key_type = IS_VAL;
-        else if(!lstrcmpW(buf->str, wstrDelete))
+        else if(CompareStringW(LOCALE_USER_DEFAULT, NORM_IGNORECASE, buf->str, -1, wstrDelete, -1) == CSTR_EQUAL)
             key_type = DO_DELETE;
 
         if(key_type != NORMAL) {
@@ -369,7 +371,7 @@ static HRESULT do_process_root_key(LPCOL
             break;
         }
         for(i=0; i<sizeof(root_keys)/sizeof(root_keys[0]); i++) {
-            if(!lstrcmpW(buf.str, root_keys[i].name))
+            if(CompareStringW(LOCALE_USER_DEFAULT, NORM_IGNORECASE, buf.str, -1, root_keys[i].name, -1) == CSTR_EQUAL)
                 break;
         }
         if(i == sizeof(root_keys)/sizeof(root_keys[0])) {


More information about the wine-patches mailing list