summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAaron Conole <aconole@redhat.com>2018-08-07 20:34:51 -0400
committerBen Pfaff <blp@ovn.org>2018-08-08 11:17:00 -0700
commit3562353e0e2039d90f99f5e1165e3d7899abde91 (patch)
tree3332aa55632dbe43261fbef3a4b14d92fdf6fdf6 /lib
parent111b58cc7921e54caa384851c2f11c066014a49b (diff)
downloadopenvswitch-3562353e0e2039d90f99f5e1165e3d7899abde91.tar.gz
table: append newline when printing tables
With commit cb139fa8b3a1 ("table: New function table_format() for formatting a table as a string.") a new mechanism for formatting tables was introduced, and the table_print method was refactored to use this. During that refactor, calls to 'puts' were replaced with 'ds_put_cstr', and table print was changed to use 'fputs(..., stdout)'. Unfortunately, fputs() does not append a newline to the string provided, and changes the output strings of, for example, ovsdb-client dump to print all on one line. This means post-processing scripts that are chained after ovsdb-client would either block indefinitely (if they don't detect EOF), or process the entire bundle at once (rather than seeing each table on a separate line). Fixes: cb139fa8b3a1 ("table: New function table_format() for formatting a table as a string.") Cc: Ben Pfaff <blp@ovn.org> Cc: Jakub Sitnicki <jsitnicki@gmail.com> Reported-by: Terry Wilson <twilson@redhat.com> Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1608508 Signed-off-by: Aaron Conole <aconole@redhat.com> Suggested-by: Ben Pfaff <blp@ovn.org> Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Terry Wilson <twilson@redhat.com> Tested-by: Terry Wilson <twilson@redhat.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/table.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/table.c b/lib/table.c
index cd811caf5..19bf89262 100644
--- a/lib/table.c
+++ b/lib/table.c
@@ -547,6 +547,7 @@ table_print_json__(const struct table *table, const struct table_style *style,
json_object_put(json, "data", data);
json_to_ds(json, style->json_flags, s);
+ ds_put_char(s, '\n');
json_destroy(json);
}