• Klaus Post's avatar
    compress/flate: make compression level 0 consistent · 461adfd8
    Klaus Post authored
    Tests for determinism was not working as intended since io.Copybuffer
    uses the io.WriterTo if available.
    
    This exposed that level 0 (no compression) changed output
    based on the number of writes and buffers given to the
    writer.
    
    Previously, Write would emit a new raw block (BTYPE=00) for
    every non-empty call to Write.
    
    This CL fixes it such that a raw block is only emitted upon
    the following conditions:
     	* A full window is obtained (every 65535 bytes)
     	* Flush is called
     	* Close is called
    
    Change-Id: I807f866d97e2db7820f11febab30a96266a6cbf1
    Reviewed-on: https://go-review.googlesource.com/31174
    Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarJoe Tsai <thebrokentoaster@gmail.com>
    461adfd8
Name
Last commit
Last update
..
bzip2 Loading commit data...
flate Loading commit data...
gzip Loading commit data...
lzw Loading commit data...
testdata Loading commit data...
zlib Loading commit data...