aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2015-06-16 04:27:44 +0200
committerMike Pall <mike>2015-06-16 04:27:44 +0200
commit28d872886957d3942232d86be3183ef5434794d5 (patch)
treeb555cb16d9711a35ac376da6a4df6631ce367878
parentfe565222a1cbf28fbae266da35c8a703fdcfa0dd (diff)
downloadluajit-28d872886957d3942232d86be3183ef5434794d5.tar.gz
luajit-28d872886957d3942232d86be3183ef5434794d5.tar.bz2
luajit-28d872886957d3942232d86be3183ef5434794d5.zip
Fix Xbox One port.
-rw-r--r--src/lib_package.c4
-rw-r--r--src/lj_arch.h1
-rw-r--r--src/lj_clib.c10
-rw-r--r--src/lj_profile.c2
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
120static void *ll_load(lua_State *L, const char *path, int gl) 120static 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)
208static void *clib_loadlib(lua_State *L, const char *name, int global) 208static 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");