Alexandre Julliard : kernel32: Move the k32 kernel32-> user32 helpers to thunk.c.
Alexandre Julliard
julliard at winehq.org
Thu Oct 8 08:57:12 CDT 2009
Module: wine
Branch: master
Commit: 65bc15998dd07d8cce713392f324ec0faecc4aa5
URL: http://source.winehq.org/git/wine.git/?a=commit;h=65bc15998dd07d8cce713392f324ec0faecc4aa5
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Oct 7 20:27:25 2009 +0200
kernel32: Move the k32 kernel32->user32 helpers to thunk.c.
---
dlls/kernel32/kernel32.spec | 14 +++---
dlls/kernel32/string.c | 106 -------------------------------------------
dlls/kernel32/thunk.c | 97 +++++++++++++++++++++++++++++++++++++++
3 files changed, 104 insertions(+), 113 deletions(-)
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 2fc1d14..169ba37 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -17,13 +17,13 @@
7 stdcall -noname -i386 -register VxDCall6(long) VxDCall
8 stdcall -noname -i386 -register VxDCall7(long) VxDCall
9 stdcall -noname -i386 -register VxDCall8(long) VxDCall
- 10 stdcall -noname k32CharToOemA(str ptr)
- 11 stdcall -noname k32CharToOemBuffA(str ptr long)
- 12 stdcall -noname k32OemToCharA(ptr ptr)
- 13 stdcall -noname k32OemToCharBuffA(ptr ptr long)
- 14 stdcall -noname k32LoadStringA(long long ptr long)
- 15 varargs -noname k32wsprintfA(str str)
- 16 stdcall -noname k32wvsprintfA(ptr str ptr)
+ 10 stdcall -noname -i386 k32CharToOemA(str ptr)
+ 11 stdcall -noname -i386 k32CharToOemBuffA(str ptr long)
+ 12 stdcall -noname -i386 k32OemToCharA(ptr ptr)
+ 13 stdcall -noname -i386 k32OemToCharBuffA(ptr ptr long)
+ 14 stdcall -noname -i386 k32LoadStringA(long long ptr long)
+ 15 varargs -noname -i386 k32wsprintfA(str str)
+ 16 stdcall -noname -i386 k32wvsprintfA(ptr str ptr)
17 stdcall -noname -i386 -register CommonUnimpStub()
18 stdcall -noname GetProcessDword(long long)
19 stub -noname ThunkTheTemplateHandle
diff --git a/dlls/kernel32/string.c b/dlls/kernel32/string.c
index c584bf7..120c868 100644
--- a/dlls/kernel32/string.c
+++ b/dlls/kernel32/string.c
@@ -30,116 +30,10 @@
#define WINE_NO_INLINE_STRING
#include "windef.h"
#include "winbase.h"
-#include "wine/winbase16.h"
#include "wine/unicode.h"
#include "wine/exception.h"
-static INT (WINAPI *pLoadStringA)(HINSTANCE, UINT, LPSTR, INT);
-static INT (WINAPI *pwvsprintfA)(LPSTR, LPCSTR, __ms_va_list);
-
-
-/***********************************************************************
- * Helper for k32 family functions
- */
-static void *user32_proc_address(const char *proc_name)
-{
- static HMODULE hUser32;
-
- if(!hUser32) hUser32 = LoadLibraryA("user32.dll");
- return GetProcAddress(hUser32, proc_name);
-}
-
-
-/***********************************************************************
- * k32CharToOemBuffA (KERNEL32.11)
- */
-BOOL WINAPI k32CharToOemBuffA(LPCSTR s, LPSTR d, DWORD len)
-{
- WCHAR *bufW;
-
- if ((bufW = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) )))
- {
- MultiByteToWideChar( CP_ACP, 0, s, len, bufW, len );
- WideCharToMultiByte( CP_OEMCP, 0, bufW, len, d, len, NULL, NULL );
- HeapFree( GetProcessHeap(), 0, bufW );
- }
- return TRUE;
-}
-
-
-/***********************************************************************
- * k32CharToOemA (KERNEL32.10)
- */
-BOOL WINAPI k32CharToOemA(LPCSTR s, LPSTR d)
-{
- if (!s || !d) return TRUE;
- return k32CharToOemBuffA( s, d, strlen(s) + 1 );
-}
-
-
-/***********************************************************************
- * k32OemToCharBuffA (KERNEL32.13)
- */
-BOOL WINAPI k32OemToCharBuffA(LPCSTR s, LPSTR d, DWORD len)
-{
- WCHAR *bufW;
-
- if ((bufW = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) )))
- {
- MultiByteToWideChar( CP_OEMCP, 0, s, len, bufW, len );
- WideCharToMultiByte( CP_ACP, 0, bufW, len, d, len, NULL, NULL );
- HeapFree( GetProcessHeap(), 0, bufW );
- }
- return TRUE;
-}
-
-
-/***********************************************************************
- * k32OemToCharA (KERNEL32.12)
- */
-BOOL WINAPI k32OemToCharA(LPCSTR s, LPSTR d)
-{
- return k32OemToCharBuffA( s, d, strlen(s) + 1 );
-}
-
-
-/**********************************************************************
- * k32LoadStringA (KERNEL32.14)
- */
-INT WINAPI k32LoadStringA(HINSTANCE instance, UINT resource_id,
- LPSTR buffer, INT buflen)
-{
- if(!pLoadStringA) pLoadStringA = user32_proc_address("LoadStringA");
- return pLoadStringA(instance, resource_id, buffer, buflen);
-}
-
-
-/***********************************************************************
- * k32wvsprintfA (KERNEL32.16)
- */
-INT WINAPI k32wvsprintfA(LPSTR buffer, LPCSTR spec, __ms_va_list args)
-{
- if(!pwvsprintfA) pwvsprintfA = user32_proc_address("wvsprintfA");
- return (*pwvsprintfA)(buffer, spec, args);
-}
-
-
-/***********************************************************************
- * k32wsprintfA (KERNEL32.15)
- */
-INT WINAPIV k32wsprintfA(LPSTR buffer, LPCSTR spec, ...)
-{
- __ms_va_list args;
- INT res;
-
- __ms_va_start(args, spec);
- res = k32wvsprintfA(buffer, spec, args);
- __ms_va_end(args);
- return res;
-}
-
-
/***********************************************************************
* lstrcatA (KERNEL32.@)
* lstrcat (KERNEL32.@)
diff --git a/dlls/kernel32/thunk.c b/dlls/kernel32/thunk.c
index 5befee5..78ba2f7 100644
--- a/dlls/kernel32/thunk.c
+++ b/dlls/kernel32/thunk.c
@@ -2176,6 +2176,103 @@ DWORD WINAPI _KERNEL32_99(DWORD x)
}
+/***********************************************************************
+ * Helper for k32 family functions
+ */
+static void *user32_proc_address(const char *proc_name)
+{
+ static HMODULE hUser32;
+
+ if(!hUser32) hUser32 = LoadLibraryA("user32.dll");
+ return GetProcAddress(hUser32, proc_name);
+}
+
+/***********************************************************************
+ * k32CharToOemBuffA (KERNEL32.11)
+ */
+BOOL WINAPI k32CharToOemBuffA(LPCSTR s, LPSTR d, DWORD len)
+{
+ WCHAR *bufW;
+
+ if ((bufW = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) )))
+ {
+ MultiByteToWideChar( CP_ACP, 0, s, len, bufW, len );
+ WideCharToMultiByte( CP_OEMCP, 0, bufW, len, d, len, NULL, NULL );
+ HeapFree( GetProcessHeap(), 0, bufW );
+ }
+ return TRUE;
+}
+
+/***********************************************************************
+ * k32CharToOemA (KERNEL32.10)
+ */
+BOOL WINAPI k32CharToOemA(LPCSTR s, LPSTR d)
+{
+ if (!s || !d) return TRUE;
+ return k32CharToOemBuffA( s, d, strlen(s) + 1 );
+}
+
+/***********************************************************************
+ * k32OemToCharBuffA (KERNEL32.13)
+ */
+BOOL WINAPI k32OemToCharBuffA(LPCSTR s, LPSTR d, DWORD len)
+{
+ WCHAR *bufW;
+
+ if ((bufW = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) )))
+ {
+ MultiByteToWideChar( CP_OEMCP, 0, s, len, bufW, len );
+ WideCharToMultiByte( CP_ACP, 0, bufW, len, d, len, NULL, NULL );
+ HeapFree( GetProcessHeap(), 0, bufW );
+ }
+ return TRUE;
+}
+
+/***********************************************************************
+ * k32OemToCharA (KERNEL32.12)
+ */
+BOOL WINAPI k32OemToCharA(LPCSTR s, LPSTR d)
+{
+ return k32OemToCharBuffA( s, d, strlen(s) + 1 );
+}
+
+/**********************************************************************
+ * k32LoadStringA (KERNEL32.14)
+ */
+INT WINAPI k32LoadStringA(HINSTANCE instance, UINT resource_id,
+ LPSTR buffer, INT buflen)
+{
+ static INT (WINAPI *pLoadStringA)(HINSTANCE, UINT, LPSTR, INT);
+
+ if(!pLoadStringA) pLoadStringA = user32_proc_address("LoadStringA");
+ return pLoadStringA(instance, resource_id, buffer, buflen);
+}
+
+/***********************************************************************
+ * k32wvsprintfA (KERNEL32.16)
+ */
+INT WINAPI k32wvsprintfA(LPSTR buffer, LPCSTR spec, __ms_va_list args)
+{
+ static INT (WINAPI *pwvsprintfA)(LPSTR, LPCSTR, __ms_va_list);
+
+ if(!pwvsprintfA) pwvsprintfA = user32_proc_address("wvsprintfA");
+ return (*pwvsprintfA)(buffer, spec, args);
+}
+
+/***********************************************************************
+ * k32wsprintfA (KERNEL32.15)
+ */
+INT WINAPIV k32wsprintfA(LPSTR buffer, LPCSTR spec, ...)
+{
+ __ms_va_list args;
+ INT res;
+
+ __ms_va_start(args, spec);
+ res = k32wvsprintfA(buffer, spec, args);
+ __ms_va_end(args);
+ return res;
+}
+
/**********************************************************************
* Catch (KERNEL.55)
*
More information about the wine-cvs
mailing list