This should fix the bug where file transfer with compression failed with
authorPaul Mackerras <paulus@samba.org>
Mon, 15 Jul 1996 05:38:20 +0000 (05:38 +0000)
committerPaul Mackerras <paulus@samba.org>
Mon, 15 Jul 1996 05:38:20 +0000 (05:38 +0000)
the message 'inflate returned 0 (0 bytes)'.

token.c

diff --git a/token.c b/token.c
index 87bba58..5056569 100644 (file)
--- a/token.c
+++ b/token.c
@@ -293,14 +293,17 @@ recv_deflated_token(int f, char **data)
            rx_strm.avail_out = CHUNK_SIZE;
            r = inflate(&rx_strm, Z_NO_FLUSH);
            n = CHUNK_SIZE - rx_strm.avail_out;
-           if (r != Z_OK || n == 0) {
+           if (r != Z_OK) {
                fprintf(FERROR, "inflate returned %d (%d bytes)\n", r, n);
                exit_cleanup(1);
            }
            if (rx_strm.avail_out != 0)
                recv_state = r_inflated;
-           *data = dbuf;
-           return n;
+           if (n != 0) {
+               *data = dbuf;
+               return n;
+           }
+           break;
 
        case r_running:
            ++rx_token;