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
+8 -2
View File
@@ -28,11 +28,17 @@ int cst_settings_load(cst_settings_t *s) {
FILE *fp = fopen(path, "rb");
if (!fp)
return -1;
static _Thread_local char buf[65536];
size_t n = fread(buf, 1, sizeof(buf) - 1, fp);
enum { SETTINGS_MAX = 65536 };
char *buf = malloc(SETTINGS_MAX);
if (!buf) {
fclose(fp);
return -1;
}
size_t n = fread(buf, 1, SETTINGS_MAX - 1, fp);
fclose(fp);
buf[n] = 0;
cJSON *root = cJSON_Parse(buf + cst_bom_len(buf, n));
free(buf);
if (!cJSON_IsObject(root)) {
cJSON_Delete(root);
return -1;