These are imported by ordinal, so on other architectures we end up calling whatever ends up on that ordinal, which is currently Beep on x86_64.
Signed-off-by: Esme Povirk esme@codeweavers.com --- programs/rundll32/rundll32.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
diff --git a/programs/rundll32/rundll32.c b/programs/rundll32/rundll32.c index eb7713518a9..71703284c99 100644 --- a/programs/rundll32/rundll32.c +++ b/programs/rundll32/rundll32.c @@ -83,8 +83,10 @@ static void call_entry_point( void *func, HWND hwnd, HINSTANCE inst, void *cmdli } #endif
+#ifdef __i386__ static HINSTANCE16 (WINAPI *pLoadLibrary16)(LPCSTR libname); static FARPROC16 (WINAPI *pGetProcAddress16)(HMODULE16 hModule, LPCSTR name); +#endif static void (WINAPI *pRunDLL_CallEntry16)( FARPROC proc, HWND hwnd, HINSTANCE inst, LPCSTR cmdline, INT cmdshow );
@@ -112,6 +114,7 @@ static ATOM register_class(void) return RegisterClassExW(&wcex); }
+#ifdef __i386__ static HINSTANCE16 load_dll16( LPCWSTR dll ) { HINSTANCE16 ret = 0; @@ -143,6 +146,17 @@ static FARPROC16 get_entry_point16( HINSTANCE16 inst, LPCWSTR entry ) } return ret; } +#else +static HINSTANCE16 load_dll16( LPCWSTR dll ) +{ + return 0; +} + +static FARPROC16 get_entry_point16( HINSTANCE16 inst, LPCWSTR entry ) +{ + return 0; +} +#endif
static void *get_entry_point32( HMODULE module, LPCWSTR entry, BOOL *unicode ) {