Alexandre Julliard : ntdll: Avoid using atoiW().
Alexandre Julliard
julliard at winehq.org
Mon Mar 30 16:24:26 CDT 2020
Module: wine
Branch: master
Commit: 8f3d869d784753d814a3493d01c3650f45389eda
URL: https://source.winehq.org/git/wine.git/?a=commit;h=8f3d869d784753d814a3493d01c3650f45389eda
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Mar 30 12:09:49 2020 +0200
ntdll: Avoid using atoiW().
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntdll/actctx.c | 4 ++--
dlls/ntdll/ntdll_misc.h | 1 +
dlls/ntdll/version.c | 12 ++++++------
3 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c
index cd17c6c135..d53ddf8694 100644
--- a/dlls/ntdll/actctx.c
+++ b/dlls/ntdll/actctx.c
@@ -3141,10 +3141,10 @@ static WCHAR *lookup_manifest_file( HANDLE dir, struct assembly_identity *ai )
else data_pos = data_len;
tmp = dir_info->FileName + (strchrW(lookup, '*') - lookup);
- build = atoiW(tmp);
+ build = wcstoul( tmp, NULL, 10 );
if (build < min_build) continue;
tmp = strchrW(tmp, '.') + 1;
- revision = atoiW(tmp);
+ revision = wcstoul( tmp, NULL, 10 );
if (build == min_build && revision < min_revision) continue;
tmp = strchrW(tmp, '_') + 1;
tmp = strchrW(tmp, '_') + 1;
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index fe0d1755d0..ccb2e76c20 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -301,6 +301,7 @@ ULONG __cdecl NTDLL_wcstoul( LPCWSTR s, LPWSTR *end, INT base );
#define towupper(c) NTDLL_towupper(c)
#define wcslwr(s) NTDLL__wcslwr(s)
#define wcsupr(s) NTDLL__wcsupr(s)
+#define wcstoul(s,e,b) NTDLL_wcstoul(s,e,b)
/* convert from straight ASCII to Unicode without depending on the current codepage */
static inline void ascii_to_unicode( WCHAR *dst, const char *src, size_t len )
diff --git a/dlls/ntdll/version.c b/dlls/ntdll/version.c
index 4994dbbb5e..e5fb63e778 100644
--- a/dlls/ntdll/version.c
+++ b/dlls/ntdll/version.c
@@ -285,9 +285,9 @@ static BOOL get_nt_registry_version( RTL_OSVERSIONINFOEXW *version )
if (p)
{
*p++ = 0;
- version->dwMinorVersion = atoiW( p );
+ version->dwMinorVersion = wcstoul( p, NULL, 10 );
}
- version->dwMajorVersion = atoiW( str );
+ version->dwMajorVersion = wcstoul( str, NULL, 10 );
}
if (version->dwMajorVersion) /* we got the main version, now fetch the other fields */
@@ -302,7 +302,7 @@ static BOOL get_nt_registry_version( RTL_OSVERSIONINFOEXW *version )
{
WCHAR *str = (WCHAR *)info->Data;
str[info->DataLength / sizeof(WCHAR)] = 0;
- version->dwBuildNumber = atoiW( str );
+ version->dwBuildNumber = wcstoul( str, NULL, 10 );
}
/* get version description */
@@ -400,7 +400,7 @@ static BOOL get_win9x_registry_version( RTL_OSVERSIONINFOEXW *version )
str[info->DataLength / sizeof(WCHAR)] = 0;
p = strchrW( str, '.' );
if (p) *p++ = 0;
- version->dwMajorVersion = atoiW( str );
+ version->dwMajorVersion = wcstoul( str, NULL, 10 );
if (p)
{
str = p;
@@ -408,9 +408,9 @@ static BOOL get_win9x_registry_version( RTL_OSVERSIONINFOEXW *version )
if (p)
{
*p++ = 0;
- version->dwBuildNumber = atoiW( p );
+ version->dwBuildNumber = wcstoul( p, NULL, 10 );
}
- version->dwMinorVersion = atoiW( str );
+ version->dwMinorVersion = wcstoul( str, NULL, 10 );
}
/* build number contains version too on Win9x */
version->dwBuildNumber |= MAKEWORD( version->dwMinorVersion, version->dwMajorVersion ) << 16;
More information about the wine-cvs
mailing list