Workaround for WOF incompatibility
authorEric Biggers <ebiggers3@gmail.com>
Sun, 28 Sep 2014 03:55:57 +0000 (22:55 -0500)
committerEric Biggers <ebiggers3@gmail.com>
Sun, 28 Sep 2014 05:12:20 +0000 (00:12 -0500)
commit1ba2a3422b48935899b8cd406d6976a5997e81ea
tree5da8fd50714fa8d9488f9a5d9ef93d390787c4e6
parent33c5847f5ca6d65c79cc74d479bd6a4630e5e90a
Workaround for WOF incompatibility

If a stream has compressed_size == uncompressed_size, WOF assumes it's
uncompressed.  As a workaround, we need to re-write the stream as uncompressed
if this ever happens.

This requires adjusting the DONE_WITH_FILE messages to be fired after writing
each stream, not after reading each stream.

We also need to loosen the check for whether the input stream is in a solid
block or not.

Finally, this commit also makes the DONE_WITH_FILE messages work in more cases
--- when appending to a WIM, and when the file hashes are already known.
NEWS
include/wimlib/inode.h
include/wimlib/lookup_table.h
src/unix_capture.c
src/win32_capture.c
src/write.c