From: Peter Maydell Date: Thu, 6 Nov 2025 15:19:59 +0000 (+0000) Subject: qtest: Allow and ignore blank lines in input X-Git-Tag: v10.2.0-rc2~4^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3de6afef49449c487256dc6238649ba0f0508789;p=thirdparty%2Fqemu.git qtest: Allow and ignore blank lines in input Currently the code that reads the qtest protocol commands insists that every input line has a command. If it receives a line with nothing but whitespace it will trip an assertion in qtest_process_command(). This is a little awkward for the case where we are feeding qtest a set of bug-reproduction commands via standard input or a file, because it means you need to be careful not to leave a blank line at the start or the end when cutting and pasting the command sequence from a bug report. Change the code to allow and ignore blank lines in the input. Signed-off-by: Peter Maydell Reviewed-by: Fabiano Rosas Message-ID: <20251106151959.1088095-1-peter.maydell@linaro.org> Signed-off-by: Philippe Mathieu-Daudé --- diff --git a/system/qtest.c b/system/qtest.c index cbeb7f3772..67e2385f4b 100644 --- a/system/qtest.c +++ b/system/qtest.c @@ -69,6 +69,9 @@ static void *qtest_server_send_opaque; * so clients should always handle many async messages before the response * comes in. * + * Extra ASCII space characters in command inputs are permitted and ignored. + * Lines containing only spaces are permitted and ignored. + * * Valid requests * ^^^^^^^^^^^^^^ * @@ -367,7 +370,11 @@ static void qtest_process_command(CharFrontend *chr, gchar **words) fprintf(qtest_log_fp, "\n"); } - g_assert(command); + if (!command) { + /* Input line was blank: ignore it */ + return; + } + if (strcmp(words[0], "irq_intercept_out") == 0 || strcmp(words[0], "irq_intercept_in") == 0) { DeviceState *dev;