aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>1996-10-02 04:20:22 +0000
committerPaul Mackerras <paulus@samba.org>1996-10-02 04:20:22 +0000
commitf80621049e9b2b2070920ef364c272b6ddaec073 (patch)
tree7198f56d58c3cdc1a727075542ce254cba081fe5
parent24d95c034fb8bf64d700697fc9a9109707dc7163 (diff)
downloadandroid_external_rsync-f80621049e9b2b2070920ef364c272b6ddaec073.tar.gz
android_external_rsync-f80621049e9b2b2070920ef364c272b6ddaec073.tar.bz2
android_external_rsync-f80621049e9b2b2070920ef364c272b6ddaec073.zip
Fix compression bug where incompressible files weren't transmitted correctly.
-rw-r--r--lib/zlib.c21
-rw-r--r--lib/zlib.h3
-rw-r--r--token.c2
3 files changed, 4 insertions, 22 deletions
diff --git a/lib/zlib.c b/lib/zlib.c
index f26071ed..9d965137 100644
--- a/lib/zlib.c
+++ b/lib/zlib.c
@@ -7,7 +7,6 @@
*
* Changes that have been made include:
* - changed functions not used outside this file to "local"
- * - added minCompression parameter to deflateInit2
* - added Z_PACKET_FLUSH (see zlib.h for details)
* - added inflateIncomp
*
@@ -211,7 +210,6 @@ typedef struct deflate_state {
int noheader; /* suppress zlib header and adler32 */
Byte data_type; /* UNKNOWN, BINARY or ASCII */
Byte method; /* STORED (for zip only) or DEFLATED */
- int minCompr; /* min size decrease for Z_FLUSH_NOSTORE */
/* used by deflate.c: */
@@ -568,21 +566,18 @@ int deflateInit (strm, level)
z_stream *strm;
int level;
{
- return deflateInit2 (strm, level, DEFLATED, MAX_WBITS, DEF_MEM_LEVEL,
- 0, 0);
+ return deflateInit2 (strm, level, DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, 0);
/* To do: ignore strm->next_in if we use it as window */
}
/* ========================================================================= */
-int deflateInit2 (strm, level, method, windowBits, memLevel,
- strategy, minCompression)
+int deflateInit2 (strm, level, method, windowBits, memLevel, strategy)
z_stream *strm;
int level;
int method;
int windowBits;
int memLevel;
int strategy;
- int minCompression;
{
deflate_state *s;
int noheader = 0;
@@ -642,7 +637,6 @@ int deflateInit2 (strm, level, method, windowBits, memLevel,
s->level = level;
s->strategy = strategy;
s->method = (Byte)method;
- s->minCompr = minCompression;
s->blocks_in_packet = 0;
return deflateReset(strm);
@@ -2337,17 +2331,6 @@ local ulg ct_flush_block(s, buf, stored_len, flush)
} else
#endif /* STORED_FILE_OK */
- /* For Z_PACKET_FLUSH, if we don't achieve the required minimum
- * compression, and this block contains all the data since the last
- * time we used Z_PACKET_FLUSH, then just omit this block completely
- * from the output.
- */
- if (flush == Z_PACKET_FLUSH && s->blocks_in_packet == 1
- && opt_lenb > stored_len - s->minCompr) {
- s->blocks_in_packet = 0;
- /* output nothing */
- } else
-
#ifdef FORCE_STORED
if (buf != (char*)0) /* force stored block */
#else
diff --git a/lib/zlib.h b/lib/zlib.h
index 2018f700..e3413d6a 100644
--- a/lib/zlib.h
+++ b/lib/zlib.h
@@ -444,8 +444,7 @@ extern int deflateInit2 OF((z_stream *strm,
int method,
int windowBits,
int memLevel,
- int strategy,
- int minCompression));
+ int strategy));
/*
This is another version of deflateInit with more compression options. The
fields next_in, zalloc and zfree must be initialized before by the caller.
diff --git a/token.c b/token.c
index 5056569a..9d3bccdf 100644
--- a/token.c
+++ b/token.c
@@ -116,7 +116,7 @@ send_deflated_token(int f, int token,
tx_strm.zalloc = z_alloc;
tx_strm.zfree = z_free;
if (deflateInit2(&tx_strm, Z_DEFAULT_COMPRESSION, 8,
- -15, 8, Z_DEFAULT_STRATEGY, -4) != Z_OK) {
+ -15, 8, Z_DEFAULT_STRATEGY) != Z_OK) {
fprintf(FERROR, "compression init failed\n");
exit_cleanup(1);
}