aboutsummaryrefslogtreecommitdiff
path: root/archival/tar.c
diff options
context:
space:
mode:
authorGlenn L McGrath <bug1@ihug.co.nz>2004-07-21 09:00:39 +0000
committerGlenn L McGrath <bug1@ihug.co.nz>2004-07-21 09:00:39 +0000
commita88ae491e3422b7ea37a00a63ed2d2c439b535d2 (patch)
treed2722af2a942c07cd8947c9373e9d654bc2534fa /archival/tar.c
parentf828da00201ad4c245f22fd5466be1ddb63b0f74 (diff)
downloadbusybox-w32-a88ae491e3422b7ea37a00a63ed2d2c439b535d2.tar.gz
busybox-w32-a88ae491e3422b7ea37a00a63ed2d2c439b535d2.tar.bz2
busybox-w32-a88ae491e3422b7ea37a00a63ed2d2c439b535d2.zip
Fixup -T (--files-from) option, works for non-directories now
Diffstat (limited to 'archival/tar.c')
-rw-r--r--archival/tar.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/archival/tar.c b/archival/tar.c
index efdc46587..2de6454e7 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -625,7 +625,7 @@ static char get_header_tar_Z(archive_handle_t *archive_handle)
625#endif 625#endif
626 626
627#ifdef CONFIG_FEATURE_TAR_FROM 627#ifdef CONFIG_FEATURE_TAR_FROM
628# define TAR_OPT_FROM_FILE (1 << (8 + TAR_OPT_FLAG_CREATE + TAR_OPT_FLAG_BZIP2)) 628# define TAR_OPT_INCLUDE_FROM (1 << (8 + TAR_OPT_FLAG_CREATE + TAR_OPT_FLAG_BZIP2))
629# define TAR_OPT_EXCLUDE_FROM (1 << (8 + TAR_OPT_FLAG_CREATE + TAR_OPT_FLAG_BZIP2 + 1)) 629# define TAR_OPT_EXCLUDE_FROM (1 << (8 + TAR_OPT_FLAG_CREATE + TAR_OPT_FLAG_BZIP2 + 1))
630# define TAR_OPT_STR_FROM "T:X:" 630# define TAR_OPT_STR_FROM "T:X:"
631# define TAR_OPT_FLAG_FROM 2 631# define TAR_OPT_FLAG_FROM 2
@@ -675,7 +675,7 @@ static const struct option tar_long_options[] = {
675 { "bzip2", 0, NULL, 'j' }, 675 { "bzip2", 0, NULL, 'j' },
676# endif 676# endif
677# ifdef CONFIG_FEATURE_TAR_FROM 677# ifdef CONFIG_FEATURE_TAR_FROM
678 { "from-file", 1, NULL, 'T' }, 678 { "files-from", 1, NULL, 'T' },
679 { "exclude-from", 1, NULL, 'X' }, 679 { "exclude-from", 1, NULL, 'X' },
680# endif 680# endif
681# ifdef CONFIG_FEATURE_TAR_GZIP 681# ifdef CONFIG_FEATURE_TAR_GZIP
@@ -722,7 +722,7 @@ int tar_main(int argc, char **argv)
722 &base_dir, /* Change to dir <optarg> */ 722 &base_dir, /* Change to dir <optarg> */
723 &tar_filename /* archive filename */ 723 &tar_filename /* archive filename */
724#ifdef CONFIG_FEATURE_TAR_FROM 724#ifdef CONFIG_FEATURE_TAR_FROM
725 , NULL, 725 , &(tar_handle->accept),
726 &(tar_handle->reject) 726 &(tar_handle->reject)
727#endif 727#endif
728 ); 728 );
@@ -787,6 +787,9 @@ int tar_main(int argc, char **argv)
787 if(opt & TAR_OPT_EXCLUDE_FROM) { 787 if(opt & TAR_OPT_EXCLUDE_FROM) {
788 tar_handle->reject = append_file_list_to_list(tar_handle->reject); 788 tar_handle->reject = append_file_list_to_list(tar_handle->reject);
789 } 789 }
790 if(opt & TAR_OPT_INCLUDE_FROM) {
791 tar_handle->accept = append_file_list_to_list(tar_handle->accept);
792 }
790#endif 793#endif
791 794
792 /* Check if we are reading from stdin */ 795 /* Check if we are reading from stdin */