[PATCH] ntoskrnl.exe: Dont forward some msvcrt functions
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Sun Mar 18 01:40:13 CDT 2018
Fixes: https://bugs.winehq.org/show_bug.cgi?id=44496
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at 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
--
2.16.2
More information about the wine-devel
mailing list