Module: wine Branch: master Commit: 68587234bf82e268198f415a45256c854e179ba8 URL: https://source.winehq.org/git/wine.git/?a=commit;h=68587234bf82e268198f415a4...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Apr 1 10:28:01 2020 +0200
kernel32: Avoid using tolowerW/toupperW().
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/kernel32/comm.c | 11 +++++++++-- dlls/kernel32/editline.c | 16 +++++----------- 2 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/dlls/kernel32/comm.c b/dlls/kernel32/comm.c index 48939c0287..656acb6b41 100644 --- a/dlls/kernel32/comm.c +++ b/dlls/kernel32/comm.c @@ -95,20 +95,25 @@ static LPCWSTR COMM_ParseParity(LPCWSTR ptr, LPBYTE lpparity) member of DCB and not fParity even when parity is specified in the device control string */
- switch(toupperW(*ptr++)) + switch(*ptr++) { + case 'e': case 'E': *lpparity = EVENPARITY; break; + case 'm': case 'M': *lpparity = MARKPARITY; break; + case 'n': case 'N': *lpparity = NOPARITY; break; + case 'o': case 'O': *lpparity = ODDPARITY; break; + case 's': case 'S': *lpparity = SPACEPARITY; break; @@ -239,7 +244,7 @@ static BOOL COMM_BuildOldCommDCB(LPCWSTR device, LPDCB lpdcb) { device++; while(*device == ' ') device++; - if(*device) last = toupperW(*device++); + if(*device) last = *device++; while(*device == ' ') device++; }
@@ -255,6 +260,7 @@ static BOOL COMM_BuildOldCommDCB(LPCWSTR device, LPDCB lpdcb) lpdcb->fDtrControl = DTR_CONTROL_ENABLE; lpdcb->fRtsControl = RTS_CONTROL_ENABLE; break; + case 'x': case 'X': lpdcb->fInX = TRUE; lpdcb->fOutX = TRUE; @@ -263,6 +269,7 @@ static BOOL COMM_BuildOldCommDCB(LPCWSTR device, LPDCB lpdcb) lpdcb->fDtrControl = DTR_CONTROL_ENABLE; lpdcb->fRtsControl = RTS_CONTROL_ENABLE; break; + case 'p': case 'P': lpdcb->fInX = FALSE; lpdcb->fOutX = FALSE; diff --git a/dlls/kernel32/editline.c b/dlls/kernel32/editline.c index 7492604f04..e3d52ccc1a 100644 --- a/dlls/kernel32/editline.c +++ b/dlls/kernel32/editline.c @@ -27,6 +27,7 @@ #include "windef.h" #include "winbase.h" #include "wincon.h" +#include "winuser.h" #include "wine/unicode.h" #include "winnls.h" #include "wine/debug.h" @@ -598,9 +599,7 @@ static void WCEL_LowerCaseWord(WCEL_Context* ctx) unsigned int new_ofs = WCEL_GetRightWordTransition(ctx, ctx->ofs); if (new_ofs != ctx->ofs) { - unsigned int i; - for (i = ctx->ofs; i <= new_ofs; i++) - ctx->line[i] = tolowerW(ctx->line[i]); + CharLowerBuffW( ctx->line + ctx->ofs, new_ofs - ctx->ofs + 1 ); WCEL_Update(ctx, ctx->ofs, new_ofs - ctx->ofs + 1); ctx->ofs = new_ofs; } @@ -611,9 +610,7 @@ static void WCEL_UpperCaseWord(WCEL_Context* ctx) unsigned int new_ofs = WCEL_GetRightWordTransition(ctx, ctx->ofs); if (new_ofs != ctx->ofs) { - unsigned int i; - for (i = ctx->ofs; i <= new_ofs; i++) - ctx->line[i] = toupperW(ctx->line[i]); + CharUpperBuffW( ctx->line + ctx->ofs, new_ofs - ctx->ofs + 1 ); WCEL_Update(ctx, ctx->ofs, new_ofs - ctx->ofs + 1); ctx->ofs = new_ofs; } @@ -624,11 +621,8 @@ static void WCEL_CapitalizeWord(WCEL_Context* ctx) unsigned int new_ofs = WCEL_GetRightWordTransition(ctx, ctx->ofs); if (new_ofs != ctx->ofs) { - unsigned int i; - - ctx->line[ctx->ofs] = toupperW(ctx->line[ctx->ofs]); - for (i = ctx->ofs + 1; i <= new_ofs; i++) - ctx->line[i] = tolowerW(ctx->line[i]); + CharUpperBuffW( ctx->line + ctx->ofs, 1 ); + CharLowerBuffW( ctx->line + ctx->ofs + 1, new_ofs - ctx->ofs ); WCEL_Update(ctx, ctx->ofs, new_ofs - ctx->ofs + 1); ctx->ofs = new_ofs; }