summaryrefslogtreecommitdiffstats
path: root/generator
diff options
context:
space:
mode:
authorMatthew Booth <mbooth@redhat.com>2010-10-26 13:54:17 +0100
committerRichard W.M. Jones <rjones@redhat.com>2010-10-26 15:29:22 +0100
commit9332031543563fd2ae6e0e8731fc770f5a5931db (patch)
treee8736fad14ac67a41a6b7434e992510b77099eae /generator
parentc9670080e9b7e614101109d385c66c2fdc15e191 (diff)
downloadlibguestfs-9332031543563fd2ae6e0e8731fc770f5a5931db.tar.gz
libguestfs-9332031543563fd2ae6e0e8731fc770f5a5931db.tar.xz
libguestfs-9332031543563fd2ae6e0e8731fc770f5a5931db.zip
Don't include control characters in BufferIn trace output (RHBZ#646822).
The example below shows what the output looks like for a large random buffer. $ guestfish -N fs -m /dev/sda1 -x -- \ touch /test : \ pwrite /test "$(dd if=/dev/urandom bs=128k count=1)" 0 [...] pwrite "/test" "\x7f\xa0/\xb3\x80\xd3\xbc\xc3\xc3.\xb1\xe0\x1b\xafC\x06\xd5;\x0ajJ[o\xc1\xdd\xae\x1f\xce\xb2\x8d\xb3\xd0\x11\xcc$%\xe6<\xc7\xc7\xe7BU*\xc4l%\xaa\xea\xe9\x1an\xda]\xc6I\x0eC\xf9;\xec\x12a\x1f\xeaRH\xb2P\xd6+\xc4\xe6\xa5bW\x99\\x9d\xc8\x9bJ\xef\x99-\x16:h5\xe2\x0f\xa2\xa08\x9bU\x0b$\x138\xcf\xd4j\x9b\x83{%\xac0\xdaa1Xx\xbd`\x8e\xdd\x82\x87\x07\x98\xd2\x9ed\x8bq\xd0\x1f5\x8f\xab\xad4z1\xda\xc4b\xc1\xbc\x0f\xaa\xea\xc1\x15(\xfd1\xc2\x0bF\xe6\x9e\xb0+/g\\xab\xb0b\xde_\xca\xf9\xad\xe1?%\x17\xad\x98\xa4e\xc1\xe0f'\x89\xe9>\xff\xadhYi\xe7\x8c]%\xef\xe0\xa1R\xe5\xd5\x03K\xefI\xdf\xad\xd3\x82\xdb\x0f\xdd\xc3\x8f"\xf1G\xea\xf9r\xdd\xff\x88\x81\xb7\xf2\x0e\x0f\x1d;:\xf2F1\xdb\xb5D\xa1^\x928\xf5\x8e)\xab\xc4\xc3H(\xd0ol\xc6\xe4\xd6\xa3L\x1c\x06\xf4"<truncated, original size 130567 bytes> 0 [...]
Diffstat (limited to 'generator')
-rw-r--r--generator/generator_c.ml4
1 files changed, 3 insertions, 1 deletions
diff --git a/generator/generator_c.ml b/generator/generator_c.ml
index 0a9060b6..dad3ac30 100644
--- a/generator/generator_c.ml
+++ b/generator/generator_c.ml
@@ -591,7 +591,6 @@ check_state (guestfs_h *g, const char *caller)
| Dev_or_Path n
| FileIn n
| FileOut n
- | BufferIn n
| Key n ->
(* guestfish doesn't support string escaping, so neither do we *)
pr " fprintf (stderr, \" \\\"%%s\\\"\", %s);\n" n
@@ -613,6 +612,9 @@ check_state (guestfs_h *g, const char *caller)
pr " fprintf (stderr, \" %%d\", %s);\n" n
| Int64 n ->
pr " fprintf (stderr, \" %%\" PRIi64, %s);\n" n
+ | BufferIn n -> (* RHBZ#646822 *)
+ pr " fputc (' ', stderr);\n";
+ pr " guestfs___print_BufferIn (stderr, %s, %s_size);\n" n n
) args;
(* Optional arguments. *)