From: Peter Krempa Date: Thu, 3 May 2018 15:34:43 +0000 (+0200) Subject: tests: qemucapsprobemock: Simplify and extract skipping of empty lines X-Git-Tag: v4.5.0-rc1~141 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ed2716531565ce18a4a208bbdf9efe476f2b8ec;p=thirdparty%2Flibvirt.git 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 --- 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: