Commit 80a25bb8 authored by Wayne Davison's avatar Wayne Davison

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.
parent 0301b334
......@@ -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);
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment