diff options
| author | Wayne Davison <wayned@samba.org> | 2005-01-02 09:08:59 +0000 |
|---|---|---|
| committer | Wayne Davison <wayned@samba.org> | 2005-01-02 09:08:59 +0000 |
| commit | 80a25bb88076453bbd2a2e00d697fd6b03ad4a7b (patch) | |
| tree | d7c5026ce0af706e65b5745e97f87da12bbc32fb /token.c | |
| parent | 0301b334c7a588a2f192b7eeb796156e8f5f8f0b (diff) | |
| download | android_external_rsync-80a25bb88076453bbd2a2e00d697fd6b03ad4a7b.tar.gz android_external_rsync-80a25bb88076453bbd2a2e00d697fd6b03ad4a7b.tar.bz2 android_external_rsync-80a25bb88076453bbd2a2e00d697fd6b03ad4a7b.zip | |
Backed out changes to send_deflated_token() that surrounded the
call to deflate(..., Z_INSERT_ONLY) -- the underlying bug was
caused by the zlib code not handling Z_INSERT_ONLY in the case
where the server has disabled compression.
Diffstat (limited to 'token.c')
| -rw-r--r-- | token.c | 26 |
1 files changed, 10 insertions, 16 deletions
@@ -262,22 +262,16 @@ send_deflated_token(int f, int token, struct map_struct *buf, OFF_T offset, } else if (token != -2) { /* add the data in the current block to the compressor's history and hash table */ - do { - n = MIN(toklen, CHUNK_SIZE); - tx_strm.next_in = (Bytef *) map_ptr(buf, offset, n); - tx_strm.avail_in = n; - tx_strm.next_out = (Bytef *)obuf; - tx_strm.avail_out = AVAIL_OUT_SIZE(CHUNK_SIZE); - r = deflate(&tx_strm, Z_INSERT_ONLY); - if (r != Z_OK || tx_strm.avail_in != 0) { - rprintf(FERROR, - "deflate on token returned %d (%d bytes left)\n", - r, tx_strm.avail_in); - exit_cleanup(RERR_STREAMIO); - } - toklen -= n; - offset += n; - } while (toklen); + tx_strm.next_in = (Bytef *) map_ptr(buf, offset, toklen); + tx_strm.avail_in = toklen; + tx_strm.next_out = (Bytef *) obuf; + tx_strm.avail_out = AVAIL_OUT_SIZE(CHUNK_SIZE); + r = deflate(&tx_strm, Z_INSERT_ONLY); + if (r != Z_OK || tx_strm.avail_in != 0) { + rprintf(FERROR, "deflate on token returned %d (%d bytes left)\n", + r, tx_strm.avail_in); + exit_cleanup(RERR_STREAMIO); + } } } |
