diff options
author | Denys Vlasenko | 2018-01-31 17:37:32 +0100 |
---|---|---|
committer | Denys Vlasenko | 2018-01-31 17:37:32 +0100 |
commit | 919bc9d43c47a206e632c1b4c80c5f23e307b176 (patch) | |
tree | 18729058c9607d5fe2777bcdb5e7d2094b31731c | |
parent | f21ebeece53687b17d64fa444ceb3648439f5a8a (diff) | |
download | busybox-919bc9d43c47a206e632c1b4c80c5f23e307b176.zip busybox-919bc9d43c47a206e632c1b4c80c5f23e307b176.tar.gz |
gzip: flush output buffer after stored blocks only if necessary
function old new delta
flush_block 671 680 +9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | archival/gzip.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/archival/gzip.c b/archival/gzip.c index 7df38c2..92130e7 100644 --- a/archival/gzip.c +++ b/archival/gzip.c @@ -634,7 +634,8 @@ static void copy_block(char *buf, unsigned len, int header) put_8bit(*buf++); } /* The above can 32-bit misalign outbuf */ - flush_outbuf_if_32bit_optimized(); + if (G1.outcnt & 3) /* syscalls are expensive, is it really misaligned? */ + flush_outbuf_if_32bit_optimized(); } |