[git commit] tar: fix tar -T to add entries in the exact order as the input list

Denys Vlasenko vda.linux at googlemail.com
Thu Aug 15 10:19:29 UTC 2013


commit: http://git.busybox.net/busybox/commit/?id=73fbe9dc86df6c7db425c2c3939ff98c8c44974e
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

This fixes tar to order files in tarball correctly in this case:

$ touch 1 2 3; echo -e '1\n2\n3' | tar -T- -c | tar t
1
2
3

Signed-off-by: SASAKI Suguru <suguru at sonik.org>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 archival/tar.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/archival/tar.c b/archival/tar.c
index c0ceff5..3cd033b 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -679,14 +679,12 @@ static llist_t *append_file_list_to_list(llist_t *list)
 			char *cp = last_char_is(line, '/');
 			if (cp > line)
 				*cp = '\0';
-			llist_add_to(&newlist, line);
+			llist_add_to_end(&newlist, line);
 		}
 		fclose(src_stream);
 	}
 	return newlist;
 }
-#else
-# define append_file_list_to_list(x) 0
 #endif
 
 //usage:#define tar_trivial_usage


More information about the busybox-cvs mailing list