diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib_package.c | 8 |
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) | |||
96 | static void pusherror(lua_State *L) | 96 | static 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); |