diff --git a/Changelog b/Changelog index f9d385622..b9ca9a148 100644 --- a/Changelog +++ b/Changelog @@ -3,6 +3,8 @@ * Fixed a _horrible_ bug where 'tar -tvf' could unlink local files!!! Fix thanks to Marius Groeger * Fixed a nasty bug in tar when could mess up saved symlinks. + * Fixed tar creation support when reading from stdin ('tar -cf - . ') + thanks to Daniel Quinlan * Updates to handle Linux 2.4.0 kernels (kludged around the "none" entries in /proc/mounts, added a hack to make sysinfo work with both old and new kernels). diff --git a/archival/tar.c b/archival/tar.c index 611bbd9a0..af017d112 100644 --- a/archival/tar.c +++ b/archival/tar.c @@ -198,6 +198,8 @@ extern int tar_main(int argc, char **argv) tarName = *(++argv); if (tarName == NULL) fatalError( "Option requires an argument: No file specified\n"); + if (!strcmp(tarName, "-")) + tostdoutFlag = TRUE; stopIt=TRUE; break; diff --git a/tar.c b/tar.c index 611bbd9a0..af017d112 100644 --- a/tar.c +++ b/tar.c @@ -198,6 +198,8 @@ extern int tar_main(int argc, char **argv) tarName = *(++argv); if (tarName == NULL) fatalError( "Option requires an argument: No file specified\n"); + if (!strcmp(tarName, "-")) + tostdoutFlag = TRUE; stopIt=TRUE; break;