dovecot-2.1: doveadm: Don't truncate printed output that contain...

dovecot at dovecot.org dovecot at dovecot.org
Thu Nov 29 08:36:01 EET 2012


details:   http://hg.dovecot.org/dovecot-2.1/rev/6fde42ec5c81
changeset: 14830:6fde42ec5c81
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Nov 29 08:35:51 2012 +0200
description:
doveadm: Don't truncate printed output that contain NUL bytes.
doveadm fetch text output especially could have been truncated.

diffstat:

 src/doveadm/doveadm-print-flow.c  |  2 +-
 src/doveadm/doveadm-print-pager.c |  2 +-
 src/doveadm/doveadm-print-tab.c   |  2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diffs (36 lines):

diff -r c81f1ca3cda6 -r 6fde42ec5c81 src/doveadm/doveadm-print-flow.c
--- a/src/doveadm/doveadm-print-flow.c	Wed Nov 28 04:29:58 2012 +0200
+++ b/src/doveadm/doveadm-print-flow.c	Thu Nov 29 08:35:51 2012 +0200
@@ -63,7 +63,7 @@
 		if ((hdr->flags & DOVEADM_PRINT_HEADER_FLAG_HIDE_TITLE) == 0)
 			printf("%s=", hdr->title);
 	}
-	printf("%.*s", (int)size, value);
+	fwrite(value, 1, size, stdout);
 	if (size == 0) {
 		flow_next_hdr();
 		ctx->streaming = FALSE;
diff -r c81f1ca3cda6 -r 6fde42ec5c81 src/doveadm/doveadm-print-pager.c
--- a/src/doveadm/doveadm-print-pager.c	Wed Nov 28 04:29:58 2012 +0200
+++ b/src/doveadm/doveadm-print-pager.c	Thu Nov 29 08:35:51 2012 +0200
@@ -56,7 +56,7 @@
 		ctx->streaming = TRUE;
 		printf("%s:\n", hdr->title);
 	}
-	printf("%.*s", (int)size, value);
+	fwrite(value, 1, size, stdout);
 	if (size == 0) {
 		pager_next_hdr();
 		ctx->streaming = FALSE;
diff -r c81f1ca3cda6 -r 6fde42ec5c81 src/doveadm/doveadm-print-tab.c
--- a/src/doveadm/doveadm-print-tab.c	Wed Nov 28 04:29:58 2012 +0200
+++ b/src/doveadm/doveadm-print-tab.c	Thu Nov 29 08:35:51 2012 +0200
@@ -51,7 +51,7 @@
 	}
 	if (ctx.header_idx > 0)
 		printf("\t");
-	printf("%.*s", (int)size, value);
+	fwrite(value, 1, size, stdout);
 }
 
 static void doveadm_print_tab_flush(void)


More information about the dovecot-cvs mailing list