summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2025-03-05 22:46:46 +0800
committerruki <[email protected]>2025-03-05 22:46:46 +0800
commitabc89af3c14121a048efd346b58c538b7ef90d6f (patch)
tree4e62b3e09735a9cce9191411adfa43cc7fb942d7
parent4a7fa4c90ca066bb67c7f31e0023efd1c6be2bbf (diff)
fix wine/cl output encoding #6191
-rw-r--r--.github/workflows/windows.yml2
-rw-r--r--xmake/modules/private/tools/vstool.lua6
2 files changed, 5 insertions, 3 deletions
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml
index 68f2e55d7..39e29e8dd 100644
--- a/.github/workflows/windows.yml
+++ b/.github/workflows/windows.yml
@@ -41,7 +41,7 @@ jobs:
# Cache xmake dependencies
- name: Retrieve xmake cache for packages
- uses: actions/cache@v2
+ uses: actions/cache@v3
with:
path: xmake-cache
key: ${{ matrix.os }}-${{ matrix.arch }}
diff --git a/xmake/modules/private/tools/vstool.lua b/xmake/modules/private/tools/vstool.lua
index 56601ba6c..d687bb750 100644
--- a/xmake/modules/private/tools/vstool.lua
+++ b/xmake/modules/private/tools/vstool.lua
@@ -51,7 +51,8 @@ function runv(program, argv, opt)
if ok ~= 0 then
-- read errors
- local outdata = os.isfile(outpath) and io.readfile(outpath, {encoding = "utf16le"}) or nil
+ local encoding = is_host("windows") and "utf16le" or nil
+ local outdata = os.isfile(outpath) and io.readfile(outpath, {encoding = encoding}) or nil
local errdata = os.isfile(errpath) and io.readfile(errpath) or nil
local errors = errdata or ""
if #errors:trim() == 0 then
@@ -116,7 +117,8 @@ function iorunv(program, argv, opt)
-- get output and error data
outfile:close()
- local outdata = os.isfile(outpath) and io.readfile(outpath, {encoding = "utf16le"}) or nil
+ local encoding = is_host("windows") and "utf16le" or nil
+ local outdata = os.isfile(outpath) and io.readfile(outpath, {encoding = encoding}) or nil
local errdata = os.isfile(errpath) and io.readfile(errpath) or nil
-- remove the temporary output and error file