[PATCH] git-tar-tree: fix write_trailer

write_trailer() writes the last 10k (a full block) of the tar archive.
write_if_needed() writes out a block *if* it is full and then sets
the offset to 0.  In nine out of ten cases the messed up write_trailer()
function didn't manage to fill the block thus not writing anything at
all, truncating the archive.  I was "lucky" to hit the other case and so
my testing ran OK.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Rene Scharfe 2005-06-03 13:25:18 +02:00 committed by Linus Torvalds
parent d3d49c3d35
commit a325a11b88

View File

@ -77,7 +77,7 @@ static void write_trailer(void)
write_if_needed(); write_if_needed();
get_record(); get_record();
write_if_needed(); write_if_needed();
if (offset) { while (offset) {
get_record(); get_record();
write_if_needed(); write_if_needed();
} }