Peter Maydell <[email protected]> writes: > 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 <[email protected]> > --- > system/qtest.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/system/qtest.c b/system/qtest.c > index e4d1cd75daa..baef06d4d1b 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;
Reviewed-by: Fabiano Rosas <[email protected]> Queued
