stage1 修复错误 提供类型检查

This commit is contained in:
zzy
2026-07-22 18:04:35 +08:00
parent a2d5dd9ce8
commit da9dae734c
5 changed files with 136 additions and 30 deletions

View File

@@ -194,6 +194,13 @@ static spl_val_t vm_printf(int nargs, spl_val_t *args) {
continue;
}
switch (fmt[i]) {
case '.': {
Assert(i + 2 < fmt_len && arg_idx + 1 <= nargs && fmt[i + 1] == '*' &&
fmt[i + 2] == 's');
for (usize j = 0; j < args[arg_idx]; ++j) {
vec_push(buffer, ((const char *)args[arg_idx + 1])[j]);
}
} break;
case 'd':
snprintf(tmp_buf, sizeof(tmp_buf), "%zd", args[arg_idx]);
for (usize j = 0; j < strlen(tmp_buf); ++j) {