aboutsummaryrefslogtreecommitdiff
path: root/src/lib_package.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib_package.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib_package.c b/src/lib_package.c
index 6b6eb8f6..014cfd9e 100644
--- a/src/lib_package.c
+++ b/src/lib_package.c
@@ -96,9 +96,17 @@ static void setprogdir(lua_State *L)
96static void pusherror(lua_State *L) 96static void pusherror(lua_State *L)
97{ 97{
98 DWORD error = GetLastError(); 98 DWORD error = GetLastError();
99#if LJ_TARGET_XBOXONE
100 wchar_t wbuffer[128];
101 char buffer[128*2];
102 if (FormatMessageW(FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM,
103 NULL, error, 0, buffer, sizeof(wbuffer)/sizeof(wchar_t), NULL) &&
104 WideCharToMultiByte(CP_ACP, 0, wbuffer, 128, buffer, 128*2, NULL, NULL))
105#else
99 char buffer[128]; 106 char buffer[128];
100 if (FormatMessageA(FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM, 107 if (FormatMessageA(FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM,
101 NULL, error, 0, buffer, sizeof(buffer), NULL)) 108 NULL, error, 0, buffer, sizeof(buffer), NULL))
109#endif
102 lua_pushstring(L, buffer); 110 lua_pushstring(L, buffer);
103 else 111 else
104 lua_pushfstring(L, "system error %d\n", error); 112 lua_pushfstring(L, "system error %d\n", error);