diff options
-rw-r--r-- | Changelog | 2 | ||||
-rw-r--r-- | archival/tar.c | 2 | ||||
-rw-r--r-- | tar.c | 2 |
3 files changed, 6 insertions, 0 deletions
@@ -3,6 +3,8 @@ * Fixed a _horrible_ bug where 'tar -tvf' could unlink local files!!! Fix thanks to Marius Groeger <mgroeger@sysgo.de> * 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 <quinlan@transmeta.com> * 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; @@ -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; |