Fix Xbox One port.
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user