diff options
author | Richard Jones <rjones@redhat.com> | 2010-04-07 21:04:01 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2010-04-08 09:41:57 +0100 |
commit | de7ef2a0fdcbcddfd35ecb8ee2804e1ca0968454 (patch) | |
tree | 773bf6593bdf267b6e9437bfd8d2ccc24646db09 /daemon/proto.c | |
parent | 07f4b20ae959069fca41756b0dc103ec5fa99754 (diff) | |
download | libguestfs-de7ef2a0fdcbcddfd35ecb8ee2804e1ca0968454.tar.gz libguestfs-de7ef2a0fdcbcddfd35ecb8ee2804e1ca0968454.tar.xz libguestfs-de7ef2a0fdcbcddfd35ecb8ee2804e1ca0968454.zip |
Code cleanups related to RHBZ#580246.
This includes various code cleanups:
(a) A regression test for RHBZ#580246.
(b) Use write instead of fwrite to write out the tar file. This is
just because the error handling of write seems to be better
specified and easier to use.
(c) Use size_t instead of int for length.
(d) Clearer debug messages when in verbose mode.
Diffstat (limited to 'daemon/proto.c')
-rw-r--r-- | daemon/proto.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/daemon/proto.c b/daemon/proto.c index 0002d80a..ee1c400d 100644 --- a/daemon/proto.c +++ b/daemon/proto.c @@ -324,6 +324,9 @@ receive_file (receive_cb cb, void *opaque) uint32_t len; for (;;) { + if (verbose) + fprintf (stderr, "receive_file: reading length word\n"); + /* Read the length word. */ if (xread (sock, lenbuf, 4) == -1) exit (EXIT_FAILURE); @@ -361,15 +364,18 @@ receive_file (receive_cb cb, void *opaque) free (buf); if (verbose) - printf ("receive_file: got chunk: cancel = %d, len = %d, buf = %p\n", - chunk.cancel, chunk.data.data_len, chunk.data.data_val); + fprintf (stderr, "receive_file: got chunk: cancel = %d, len = %d, buf = %p\n", + chunk.cancel, chunk.data.data_len, chunk.data.data_val); if (chunk.cancel) { - fprintf (stderr, "receive_file: received cancellation from library\n"); + if (verbose) + fprintf (stderr, "receive_file: received cancellation from library\n"); xdr_free ((xdrproc_t) xdr_guestfs_chunk, (char *) &chunk); return -2; } if (chunk.data.data_len == 0) { + if (verbose) + fprintf (stderr, "receive_file: end of file, leaving function\n"); xdr_free ((xdrproc_t) xdr_guestfs_chunk, (char *) &chunk); return 0; /* end of file */ } @@ -380,8 +386,11 @@ receive_file (receive_cb cb, void *opaque) r = 0; xdr_free ((xdrproc_t) xdr_guestfs_chunk, (char *) &chunk); - if (r == -1) /* write error */ + if (r == -1) { /* write error */ + if (verbose) + fprintf (stderr, "receive_file: write error\n"); return -1; + } } } |