diff options
author | Mike Pall <mike> | 2015-06-16 04:27:44 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2015-06-16 04:27:44 +0200 |
commit | 28d872886957d3942232d86be3183ef5434794d5 (patch) | |
tree | b555cb16d9711a35ac376da6a4df6631ce367878 | |
parent | fe565222a1cbf28fbae266da35c8a703fdcfa0dd (diff) | |
download | luajit-28d872886957d3942232d86be3183ef5434794d5.tar.gz luajit-28d872886957d3942232d86be3183ef5434794d5.tar.bz2 luajit-28d872886957d3942232d86be3183ef5434794d5.zip |
Fix Xbox One port.
-rw-r--r-- | src/lib_package.c | 4 | ||||
-rw-r--r-- | src/lj_arch.h | 1 | ||||
-rw-r--r-- | src/lj_clib.c | 10 | ||||
-rw-r--r-- | 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) | |||
100 | wchar_t wbuffer[128]; | 100 | wchar_t wbuffer[128]; |
101 | char buffer[128*2]; | 101 | char buffer[128*2]; |
102 | if (FormatMessageW(FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM, | 102 | if (FormatMessageW(FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM, |
103 | NULL, error, 0, buffer, sizeof(wbuffer)/sizeof(wchar_t), NULL) && | 103 | NULL, error, 0, wbuffer, sizeof(wbuffer)/sizeof(wchar_t), NULL) && |
104 | WideCharToMultiByte(CP_ACP, 0, wbuffer, 128, buffer, 128*2, NULL, NULL)) | 104 | WideCharToMultiByte(CP_ACP, 0, wbuffer, 128, buffer, 128*2, NULL, NULL)) |
105 | #else | 105 | #else |
106 | char buffer[128]; | 106 | char buffer[128]; |
@@ -119,7 +119,7 @@ static void ll_unloadlib(void *lib) | |||
119 | 119 | ||
120 | static void *ll_load(lua_State *L, const char *path, int gl) | 120 | static void *ll_load(lua_State *L, const char *path, int gl) |
121 | { | 121 | { |
122 | HINSTANCE lib = LoadLibraryA(path); | 122 | HINSTANCE lib = LoadLibraryExA(path, NULL, 0); |
123 | if (lib == NULL) pusherror(L); | 123 | if (lib == NULL) pusherror(L); |
124 | UNUSED(gl); | 124 | UNUSED(gl); |
125 | return lib; | 125 | 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 @@ | |||
124 | #define LJ_TARGET_XBOXONE 1 | 124 | #define LJ_TARGET_XBOXONE 1 |
125 | #define LJ_TARGET_CONSOLE 1 | 125 | #define LJ_TARGET_CONSOLE 1 |
126 | #define LJ_TARGET_GC64 1 | 126 | #define LJ_TARGET_GC64 1 |
127 | #define LoadLibraryA(name) LoadLibraryExA((name), NULL, 0) | ||
128 | #endif | 127 | #endif |
129 | 128 | ||
130 | #define LJ_NUMMODE_SINGLE 0 /* Single-number mode only. */ | 129 | #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, | |||
176 | wchar_t wbuf[128]; | 176 | wchar_t wbuf[128]; |
177 | char buf[128*2]; | 177 | char buf[128*2]; |
178 | if (!FormatMessageW(FORMAT_MESSAGE_IGNORE_INSERTS|FORMAT_MESSAGE_FROM_SYSTEM, | 178 | if (!FormatMessageW(FORMAT_MESSAGE_IGNORE_INSERTS|FORMAT_MESSAGE_FROM_SYSTEM, |
179 | NULL, err, 0, buf, sizeof(wbuf)/sizeof(wchar_t), NULL) || | 179 | NULL, err, 0, wbuf, sizeof(wbuf)/sizeof(wchar_t), NULL) || |
180 | !WideCharToMultiByte(CP_ACP, 0, wbuf, 128, buf, 128*2, NULL, NULL)) | 180 | !WideCharToMultiByte(CP_ACP, 0, wbuf, 128, buf, 128*2, NULL, NULL)) |
181 | #else | 181 | #else |
182 | char buf[128]; | 182 | char buf[128]; |
@@ -208,7 +208,7 @@ static const char *clib_extname(lua_State *L, const char *name) | |||
208 | static void *clib_loadlib(lua_State *L, const char *name, int global) | 208 | static void *clib_loadlib(lua_State *L, const char *name, int global) |
209 | { | 209 | { |
210 | DWORD oldwerr = GetLastError(); | 210 | DWORD oldwerr = GetLastError(); |
211 | void *h = (void *)LoadLibraryA(clib_extname(L, name)); | 211 | void *h = (void *)LoadLibraryExA(clib_extname(L, name), NULL, 0); |
212 | if (!h) clib_error(L, "cannot load module " LUA_QS ": %s", name); | 212 | if (!h) clib_error(L, "cannot load module " LUA_QS ": %s", name); |
213 | SetLastError(oldwerr); | 213 | SetLastError(oldwerr); |
214 | UNUSED(global); | 214 | UNUSED(global); |
@@ -249,9 +249,9 @@ static void *clib_getsym(CLibrary *cl, const char *name) | |||
249 | GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS|GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, | 249 | GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS|GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, |
250 | (const char *)&_fmode, &h); | 250 | (const char *)&_fmode, &h); |
251 | break; | 251 | break; |
252 | case CLIB_HANDLE_KERNEL32: h = LoadLibraryA("kernel32.dll"); break; | 252 | case CLIB_HANDLE_KERNEL32: h = LoadLibraryExA("kernel32.dll", NULL, 0); break; |
253 | case CLIB_HANDLE_USER32: h = LoadLibraryA("user32.dll"); break; | 253 | case CLIB_HANDLE_USER32: h = LoadLibraryExA("user32.dll", NULL, 0); break; |
254 | case CLIB_HANDLE_GDI32: h = LoadLibraryA("gdi32.dll"); break; | 254 | case CLIB_HANDLE_GDI32: h = LoadLibraryExA("gdi32.dll", NULL, 0); break; |
255 | } | 255 | } |
256 | if (!h) continue; | 256 | if (!h) continue; |
257 | clib_def_handle[i] = (void *)h; | 257 | 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) | |||
266 | { | 266 | { |
267 | #if LJ_TARGET_WINDOWS | 267 | #if LJ_TARGET_WINDOWS |
268 | if (!ps->wmm) { /* Load WinMM library on-demand. */ | 268 | if (!ps->wmm) { /* Load WinMM library on-demand. */ |
269 | ps->wmm = LoadLibraryA("winmm.dll"); | 269 | ps->wmm = LoadLibraryExA("winmm.dll", NULL, 0); |
270 | if (ps->wmm) { | 270 | if (ps->wmm) { |
271 | ps->wmm_tbp = (WMM_TPFUNC)GetProcAddress(ps->wmm, "timeBeginPeriod"); | 271 | ps->wmm_tbp = (WMM_TPFUNC)GetProcAddress(ps->wmm, "timeBeginPeriod"); |
272 | ps->wmm_tep = (WMM_TPFUNC)GetProcAddress(ps->wmm, "timeEndPeriod"); | 272 | ps->wmm_tep = (WMM_TPFUNC)GetProcAddress(ps->wmm, "timeEndPeriod"); |