From 0ed2716531565ce18a4a208bbdf9efe476f2b8ec Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 3 May 2018 17:34:43 +0200 Subject: [PATCH] tests: qemucapsprobemock: Simplify and extract skipping of empty lines The prettyfied output may sometimes contain empty lines which would desynchonize the test monitor workers. The skipping code can be much simplified though. Also a extract it so so that it's obvious what it's doing and can be reused. Signed-off-by: Peter Krempa Reviewed-by: John Ferlan --- tests/qemucapsprobemock.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/tests/qemucapsprobemock.c b/tests/qemucapsprobemock.c index 97497eb438..f26fa6b285 100644 --- a/tests/qemucapsprobemock.c +++ b/tests/qemucapsprobemock.c @@ -38,6 +38,21 @@ } while (0) +static void +printLineSkipEmpty(const char *line, + FILE *fp) +{ + const char *p; + + for (p = line; *p; p++) { + if (p[0] == '\n' && p[1] == '\n') + continue; + + fputc(*p, fp); + } +} + + static int (*realQemuMonitorSend)(qemuMonitorPtr mon, qemuMonitorMessagePtr msg); @@ -74,8 +89,6 @@ qemuMonitorJSONIOProcessLine(qemuMonitorPtr mon, if (ret == 0 && (value = virJSONValueFromString(line)) && (json = virJSONValueToString(value, 1))) { - char *p; - bool skip = false; if (first) { first = false; @@ -86,14 +99,7 @@ qemuMonitorJSONIOProcessLine(qemuMonitorPtr mon, putchar('\n'); } - for (p = json; *p; p++) { - if (skip && *p == '\n') { - continue; - } else { - skip = *p == '\n'; - putchar(*p); - } - } + printLineSkipEmpty(json, stdout); } cleanup: