[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:
parent
d3d49c3d35
commit
a325a11b88
@ -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();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user