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 <pkrempa(a)redhat.com>
---
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:
--
2.16.2