From ff9da143799b4b962caaba7ad58ea7a94f3c3b1c Mon Sep 17 00:00:00 2001 From: Arnaud DABY-SEESARAM Date: Thu, 22 Dec 2022 14:27:14 +0100 Subject: [PATCH] [cprint] replace scanf to properly read an input line --- src/cprint.ml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/cprint.ml b/src/cprint.ml index 07013db..b1a0dc0 100644 --- a/src/cprint.ml +++ b/src/cprint.ml @@ -429,7 +429,12 @@ let cp_main_fn fmt (prog, sts) = \tstate.is_init = true;\n\ \tstate.is_reset = false;\n\ \twhile(true) {\n\ - \t\tscanf(\"%%s\", _buffer);\n\ + \t\tfor(int idx = 0; idx < 1024; idx++) {\n\ + \t\t\tif(idx == 1023 || (_buffer[idx] = getchar()) == '\\n') {\n\ + \t\t\t\t_buffer[idx] = '\\0';\n\ + \t\t\t\tbreak;\n\ + \t\t\t}\n\ + \t\t}\n\ \t\tif(!strcmp(_buffer, \"exit\")) { break; }\n\ \t\tsscanf(_buffer, %a);\n%a\ \t\tfn_main(&state, %a);\n\