Fixes: https://bugs.winehq.org/show_bug.cgi?id=44496
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com --- dlls/ntoskrnl.exe/ntoskrnl.c | 49 +++++++++++++++++++++++++++++++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 12 ++++----- 2 files changed, 55 insertions(+), 6 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 5701f856b1..63886583ec 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -3303,3 +3303,52 @@ PKEVENT WINAPI IoCreateNotificationEvent(UNICODE_STRING *name, HANDLE *handle) FIXME( "stub: %s %p\n", debugstr_us(name), handle ); return NULL; } + + +/********************************************************************* + * memcpy (NTOSKRNL.@) + * + * NOTES + * Behaves like memmove. + */ +void * __cdecl NTOSKRNL_memcpy( void *dst, const void *src, size_t n ) +{ + return memmove( dst, src, n ); +} + +/********************************************************************* + * memset (NTOSKRNL.@) + */ +void * __cdecl NTOSKRNL_memset( void *dst, int c, size_t n ) +{ + return memset( dst, c, n ); +} + +int __cdecl _stricmp( LPCSTR str1, LPCSTR str2 ) +{ + return strcasecmp( str1, str2 ); +} + +/********************************************************************* + * _strnicmp (NTOSKRNL.@) + */ +int __cdecl _strnicmp( LPCSTR str1, LPCSTR str2, size_t n ) +{ + return strncasecmp( str1, str2, n ); +} + +/********************************************************************* + * _wcsnicmp (NTOSKRNL.@) + */ +INT __cdecl NTOSKRNL__wcsnicmp( LPCWSTR str1, LPCWSTR str2, INT n ) +{ + return strncmpiW( str1, str2, n ); +} + +/********************************************************************* + * wcsncmp (NTOSKRNL.@) + */ +INT __cdecl NTOSKRNL_wcsncmp( LPCWSTR str1, LPCWSTR str2, INT n ) +{ + return strncmpW( str1, str2, n ); +} diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 31c3136b77..8c3057f06e 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -1424,9 +1424,9 @@ @ cdecl -private _purecall() msvcrt._purecall @ varargs -private _snprintf(ptr long str) msvcrt._snprintf @ varargs -private _snwprintf(ptr long wstr) msvcrt._snwprintf -@ cdecl -private _stricmp(str str) msvcrt._stricmp +@ cdecl -private _stricmp(str str) @ cdecl -private _strlwr(str) msvcrt._strlwr -@ cdecl -private _strnicmp(str str long) msvcrt._strnicmp +@ cdecl -private _strnicmp(str str long) _strnicmp @ cdecl -private _strnset(str long long) msvcrt._strnset @ cdecl -private _strrev(str) msvcrt._strrev @ cdecl -private _strset(str long) msvcrt._strset @@ -1435,7 +1435,7 @@ @ cdecl -private _vsnwprintf(ptr long wstr ptr) msvcrt._vsnwprintf @ cdecl -private _wcsicmp(wstr wstr) msvcrt._wcsicmp @ cdecl -private _wcslwr(wstr) msvcrt._wcslwr -@ cdecl -private _wcsnicmp(wstr wstr long) msvcrt._wcsnicmp +@ cdecl -private _wcsnicmp(wstr wstr long) NTOSKRNL__wcsnicmp @ cdecl -private _wcsnset(wstr long long) msvcrt._wcsnset @ cdecl -private _wcsrev(wstr) msvcrt._wcsrev @ cdecl -private _wcsupr(wstr) msvcrt._wcsupr @@ -1450,9 +1450,9 @@ @ cdecl -private mbstowcs(ptr str long) msvcrt.mbstowcs @ cdecl -private mbtowc(ptr str long) msvcrt.mbtowc @ cdecl -private memchr(ptr long long) msvcrt.memchr -@ cdecl -private memcpy(ptr ptr long) msvcrt.memcpy +@ cdecl -private memcpy(ptr ptr long) NTOSKRNL_memcpy @ cdecl -private memmove(ptr ptr long) msvcrt.memmove -@ cdecl -private memset(ptr long long) msvcrt.memset +@ cdecl -private memset(ptr long long) NTOSKRNL_memset @ cdecl -private qsort(ptr long long ptr) msvcrt.qsort @ cdecl -private rand() msvcrt.rand @ varargs -private sprintf(ptr str) msvcrt.sprintf @@ -1483,7 +1483,7 @@ @ cdecl -private wcscspn(wstr wstr) msvcrt.wcscspn @ cdecl -private wcslen(wstr) msvcrt.wcslen @ cdecl -private wcsncat(wstr wstr long) msvcrt.wcsncat -@ cdecl -private wcsncmp(wstr wstr long) msvcrt.wcsncmp +@ cdecl -private wcsncmp(wstr wstr long) NTOSKRNL_wcsncmp @ cdecl -private wcsncpy(ptr wstr long) msvcrt.wcsncpy @ cdecl -private wcsrchr(wstr long) msvcrt.wcsrchr @ cdecl -private wcsspn(wstr wstr) msvcrt.wcsspn