mscoree: Avoid using isdigit() for WCHARs.

Found with Coccinelle.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Akihiro Sagawa 2017-05-17 00:00:13 +09:00 committed by Alexandre Julliard
parent 373604f253
commit 83aca41eb5
1 changed files with 11 additions and 6 deletions

View File

@ -818,6 +818,11 @@ static ULONG WINAPI CLRMetaHost_Release(ICLRMetaHost* iface)
return 1; return 1;
} }
static inline BOOL isDigit(WCHAR c)
{
return c >= '0' && c <= '9';
}
static BOOL parse_runtime_version(LPCWSTR version, DWORD *major, DWORD *minor, DWORD *build) static BOOL parse_runtime_version(LPCWSTR version, DWORD *major, DWORD *minor, DWORD *build)
{ {
*major = 0; *major = 0;
@ -827,28 +832,28 @@ static BOOL parse_runtime_version(LPCWSTR version, DWORD *major, DWORD *minor, D
if (version[0] == 'v' || version[0] == 'V') if (version[0] == 'v' || version[0] == 'V')
{ {
version++; version++;
if (!isdigit(*version)) if (!isDigit(*version))
return FALSE; return FALSE;
while (isdigit(*version)) while (isDigit(*version))
*major = *major * 10 + (*version++ - '0'); *major = *major * 10 + (*version++ - '0');
if (*version == 0) if (*version == 0)
return TRUE; return TRUE;
if (*version++ != '.' || !isdigit(*version)) if (*version++ != '.' || !isDigit(*version))
return FALSE; return FALSE;
while (isdigit(*version)) while (isDigit(*version))
*minor = *minor * 10 + (*version++ - '0'); *minor = *minor * 10 + (*version++ - '0');
if (*version == 0) if (*version == 0)
return TRUE; return TRUE;
if (*version++ != '.' || !isdigit(*version)) if (*version++ != '.' || !isDigit(*version))
return FALSE; return FALSE;
while (isdigit(*version)) while (isDigit(*version))
*build = *build * 10 + (*version++ - '0'); *build = *build * 10 + (*version++ - '0');
return *version == 0; return *version == 0;