tar: revert older fix (non-portable), added new one.
testsuite tar-extracts-all-subdirs now passes.
diff --git a/archival/tar.c b/archival/tar.c
index 160731e..0b5720f 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -545,8 +545,12 @@
tmp = cur;
cur = cur->link;
free(tmp);
- while ((line = bb_get_chomped_line_from_file(src_stream)) != NULL)
+ while ((line = bb_get_chomped_line_from_file(src_stream)) != NULL) {
+ char *filename_ptr = last_char_is(line, '/');
+ if (filename_ptr > line)
+ *filename_ptr = '\0';
llist_add_to(&newlist, line);
+ }
fclose(src_stream);
}
return newlist;