← Commit list

06ab5fb6b

Denis Vlasenko
Denis Vlasenko
2006-09-02
SOURCE BUG Duration: 34s

Subject

tar: tar xf foo.tar dir/dir did not extract all subdirs. Added testsuite entry for this

SOURCE BUG

This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)

→ Bu hatanin tam hikayesini ve duzeltme diffini gor

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

archival/libunarchive/find_list_entry.c+1 -1
@@ -13,7 +13,7 @@
const llist_t *find_list_entry(const llist_t *list, const char *filename)
{
while (list) {
- if (fnmatch(list->data, filename, 0) == 0) {
+ if (fnmatch(list->data, filename, FNM_LEADING_DIR) == 0) {
return (list);
}
list = list->link;
testsuite/README+3 -0
@@ -1,3 +1,6 @@
+Update: doesn't work as described. Try "make check" from parent dir...
+* * *
+
To run the test suite, change to this directory and run "./runtest". It will
run all of the test cases, and list those with unexpected outcomes. Adding the
-v option will cause it to show expected outcomes as well. To only run the test
testsuite/tar/tar-extracts-all-subdirs+12 -0
@@ -0,0 +1,12 @@
+# FEATURE: CONFIG_FEATURE_TAR_CREATE
+mkdir -p foo/{1,2,3}
+mkdir -p foo/1/{10,11}
+mkdir -p foo/1/10/{100,101,102}
+tar cf foo.tar -C foo .
+rm -rf foo/*
+busybox tar xf foo.tar -C foo ./1/10
+find foo | sort >logfile.bb
+rm -rf foo/*
+tar xf foo.tar -C foo ./1/10
+find foo | sort >logfile.gnu
+cmp logfile.gnu logfile.bb