summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorruki <[email protected]>2026-02-03 12:10:22 +0800
committerGitHub <[email protected]>2026-02-03 12:10:22 +0800
commit1bcce9d85f07cae1f7ac9f3a3099047539d26c84 (patch)
tree1516224d2d661413fe5e786a67a83484784b2d76 /core/src
parent84ecebb4e9beaef3d046617c9c5ae3c1714a4aa8 (diff)
parent7a9f668793b387efc3d657ceedbd0ab913dab4e0 (diff)
Merge pull request #7284 from luadebug/stdin
Add `--stdin`
Diffstat (limited to 'core/src')
-rw-r--r--core/src/xmake/engine.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/src/xmake/engine.c b/core/src/xmake/engine.c
index df5ae06be..9c02d8487 100644
--- a/core/src/xmake/engine.c
+++ b/core/src/xmake/engine.c
@@ -874,7 +874,11 @@ static tb_bool_t xm_engine_get_program_file(xm_engine_t *engine, tb_char_t **arg
ssize_t size = readlink(XM_PROC_SELF_FILE, path, (size_t)maxn);
if (size > 0 && size < maxn) {
path[size] = '\0';
- ok = tb_true;
+ // ignore cosmocc ape binary, we fallback to argv[0], .e.g /usr/bin/ape, /home/ruki/.ape-1.10
+ tb_char_t const* filename = tb_strrchr(path, '/');
+ if (!tb_strstr(filename ? filename + 1 : path, "ape")) {
+ ok = tb_true;
+ }
}
#elif defined(TB_CONFIG_OS_BSD) && defined(KERN_PROC_PATHNAME)
// only for FreeBSD and OpenBSD, https://github.com/xmake-io/xmake/issues/2948