Vitaly Lipatov : user32: Fix character conversion in combo box.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Jun 15 07:12:14 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 88694be2ad94954c79d0a914357c5489860ac75c
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=88694be2ad94954c79d0a914357c5489860ac75c

Author: Vitaly Lipatov <lav at etersoft.ru>
Date:   Wed Jun 14 21:12:16 2006 +0400

user32: Fix character conversion in combo box.

Replace toupper/tolower with CharUpper/CharLower functions.

---

 dlls/user/combo.c |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/dlls/user/combo.c b/dlls/user/combo.c
index f4b4dba..b8a815a 100644
--- a/dlls/user/combo.c
+++ b/dlls/user/combo.c
@@ -2080,26 +2080,28 @@ static LRESULT ComboWndProc_common( HWND
 		if( unicode )
                 {
                     if( lphc->dwStyle & CBS_LOWERCASE )
-                        strlwrW((LPWSTR)lParam);
+                        CharLowerW((LPWSTR)lParam);
                     else if( lphc->dwStyle & CBS_UPPERCASE )
-                        struprW((LPWSTR)lParam);
+                        CharUpperW((LPWSTR)lParam);
                     return SendMessageW(lphc->hWndLBox, LB_ADDSTRING, 0, lParam);
                 }
                 else /* unlike the unicode version, the ansi version does not overwrite
                         the string if converting case */
                 {
-                    char *p, *string = NULL;
+                    char *string = NULL;
                     LRESULT ret;
                     if( lphc->dwStyle & CBS_LOWERCASE )
                     {
                         string = strdupA((LPSTR)lParam);
-                        for (p = string; *p; p++) *p = tolower(*p);
+                        CharLowerA(string);
                     }
+
                     else if( lphc->dwStyle & CBS_UPPERCASE )
                     {
                         string = strdupA((LPSTR)lParam);
-                        for (p = string; *p; p++) *p = toupper(*p);
+                        CharUpperA(string);
                     }
+
                     ret = SendMessageA(lphc->hWndLBox, LB_ADDSTRING, 0, string ? (LPARAM)string : lParam);
                     HeapFree(GetProcessHeap(), 0, string);
                     return ret;
@@ -2112,18 +2114,18 @@ static LRESULT ComboWndProc_common( HWND
 		if( unicode )
                 {
                     if( lphc->dwStyle & CBS_LOWERCASE )
-                        strlwrW((LPWSTR)lParam);
+                        CharLowerW((LPWSTR)lParam);
                     else if( lphc->dwStyle & CBS_UPPERCASE )
-                        struprW((LPWSTR)lParam);
+                        CharUpperW((LPWSTR)lParam);
                     return SendMessageW(lphc->hWndLBox, LB_INSERTSTRING, wParam, lParam);
                 }
                 else
                 {
-                    char *p;
                     if( lphc->dwStyle & CBS_LOWERCASE )
-                        for (p = (LPSTR)lParam; *p; p++) *p = tolower(*p);
+                        CharLowerA((LPSTR)lParam);
                     else if( lphc->dwStyle & CBS_UPPERCASE )
-                        for (p = (LPSTR)lParam; *p; p++) *p = toupper(*p);
+                        CharUpperA((LPSTR)lParam);
+
                     return SendMessageA(lphc->hWndLBox, LB_INSERTSTRING, wParam, lParam);
                 }
 	case CB_DELETESTRING16:




More information about the wine-cvs mailing list