build: finish cross-platform release tooling
ci / tcc-check (push) Successful in 1m9s
ci / linux (aarch64, 0) (push) Failing after 58m44s
ci / linux (x86, 1) (push) Successful in 13m47s
ci / linux (x86_64, 1) (push) Failing after 1h0m2s
ci / windows (push) Successful in 10m46s

This commit is contained in:
WHC
2026-10-10 16:21:00 +08:00
parent 9bf7707912
commit 50abcf1a91
29 changed files with 973 additions and 230 deletions
+3 -2
View File
@@ -659,9 +659,10 @@ static int plan_patch(const char *ws, const char *patch, patch_plan_t *pl,
pl->full[i] = malloc(OS_PATH_MAX);
if (!pl->full[i] ||
cst_sandbox_resolve(ws, target, pl->full[i], OS_PATH_MAX) != 0) {
if (dry && pl->full[i] && !pl->del[i] && is_new) {
if (dry && pl->full[i] && !pl->del[i] && is_new &&
strlen(target) < OS_PATH_MAX) {
/* parent dirs do not exist yet; the write would create them */
snprintf(pl->full[i], OS_PATH_MAX, "%s", target);
memcpy(pl->full[i], target, strlen(target) + 1);
} else {
snprintf(err, err_sz, "error: path outside workspace: %.200s",
target);