From 28d872886957d3942232d86be3183ef5434794d5 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Tue, 16 Jun 2015 04:27:44 +0200 Subject: [PATCH] Fix Xbox One port. --- src/lib_package.c | 4 ++-- src/lj_arch.h | 1 - src/lj_clib.c | 10 +++++----- src/lj_profile.c | 2 +- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/lib_package.c b/src/lib_package.c index 014cfd9e..32ba4d3f 100644 --- a/src/lib_package.c +++ b/src/lib_package.c @@ -100,7 +100,7 @@ static void pusherror(lua_State *L) wchar_t wbuffer[128]; char buffer[128*2]; if (FormatMessageW(FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM, - NULL, error, 0, buffer, sizeof(wbuffer)/sizeof(wchar_t), NULL) && + NULL, error, 0, wbuffer, sizeof(wbuffer)/sizeof(wchar_t), NULL) && WideCharToMultiByte(CP_ACP, 0, wbuffer, 128, buffer, 128*2, NULL, NULL)) #else char buffer[128]; @@ -119,7 +119,7 @@ static void ll_unloadlib(void *lib) static void *ll_load(lua_State *L, const char *path, int gl) { - HINSTANCE lib = LoadLibraryA(path); + HINSTANCE lib = LoadLibraryExA(path, NULL, 0); if (lib == NULL) pusherror(L); UNUSED(gl); return lib; diff --git a/src/lj_arch.h b/src/lj_arch.h index e705a3b2..f1e7d7f4 100644 --- a/src/lj_arch.h +++ b/src/lj_arch.h @@ -124,7 +124,6 @@ #define LJ_TARGET_XBOXONE 1 #define LJ_TARGET_CONSOLE 1 #define LJ_TARGET_GC64 1 -#define LoadLibraryA(name) LoadLibraryExA((name), NULL, 0) #endif #define LJ_NUMMODE_SINGLE 0 /* Single-number mode only. */ diff --git a/src/lj_clib.c b/src/lj_clib.c index 74b4b001..1e927ebe 100644 --- a/src/lj_clib.c +++ b/src/lj_clib.c @@ -176,7 +176,7 @@ LJ_NORET LJ_NOINLINE static void clib_error(lua_State *L, const char *fmt, wchar_t wbuf[128]; char buf[128*2]; if (!FormatMessageW(FORMAT_MESSAGE_IGNORE_INSERTS|FORMAT_MESSAGE_FROM_SYSTEM, - NULL, err, 0, buf, sizeof(wbuf)/sizeof(wchar_t), NULL) || + NULL, err, 0, wbuf, sizeof(wbuf)/sizeof(wchar_t), NULL) || !WideCharToMultiByte(CP_ACP, 0, wbuf, 128, buf, 128*2, NULL, NULL)) #else char buf[128]; @@ -208,7 +208,7 @@ static const char *clib_extname(lua_State *L, const char *name) static void *clib_loadlib(lua_State *L, const char *name, int global) { DWORD oldwerr = GetLastError(); - void *h = (void *)LoadLibraryA(clib_extname(L, name)); + void *h = (void *)LoadLibraryExA(clib_extname(L, name), NULL, 0); if (!h) clib_error(L, "cannot load module " LUA_QS ": %s", name); SetLastError(oldwerr); UNUSED(global); @@ -249,9 +249,9 @@ static void *clib_getsym(CLibrary *cl, const char *name) GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS|GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, (const char *)&_fmode, &h); break; - case CLIB_HANDLE_KERNEL32: h = LoadLibraryA("kernel32.dll"); break; - case CLIB_HANDLE_USER32: h = LoadLibraryA("user32.dll"); break; - case CLIB_HANDLE_GDI32: h = LoadLibraryA("gdi32.dll"); break; + case CLIB_HANDLE_KERNEL32: h = LoadLibraryExA("kernel32.dll", NULL, 0); break; + case CLIB_HANDLE_USER32: h = LoadLibraryExA("user32.dll", NULL, 0); break; + case CLIB_HANDLE_GDI32: h = LoadLibraryExA("gdi32.dll", NULL, 0); break; } if (!h) continue; clib_def_handle[i] = (void *)h; diff --git a/src/lj_profile.c b/src/lj_profile.c index 01367014..c7e53963 100644 --- a/src/lj_profile.c +++ b/src/lj_profile.c @@ -266,7 +266,7 @@ static void profile_timer_start(ProfileState *ps) { #if LJ_TARGET_WINDOWS if (!ps->wmm) { /* Load WinMM library on-demand. */ - ps->wmm = LoadLibraryA("winmm.dll"); + ps->wmm = LoadLibraryExA("winmm.dll", NULL, 0); if (ps->wmm) { ps->wmm_tbp = (WMM_TPFUNC)GetProcAddress(ps->wmm, "timeBeginPeriod"); ps->wmm_tep = (WMM_TPFUNC)GetProcAddress(ps->wmm, "timeEndPeriod");