stage1 修复错误 提供类型检查
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user