diff --git a/tar.1 b/tar.1 index 8394fdb..7cc34b4 100644 --- a/tar.1 +++ b/tar.1 @@ -32,7 +32,8 @@ before beginning. .It Fl f Ar file Set .Ar file -as input | output archive instead of stdin | stdout. +as input | output archive instead of stdin | stdout. If '-', +stdin | stdout is used. .It Fl m Do not preserve modification time. .It Fl t diff --git a/tar.c b/tar.c index b4ba2d6..10b2024 100644 --- a/tar.c +++ b/tar.c @@ -550,7 +550,7 @@ main(int argc, char *argv[]) switch (mode) { case 'c': tarfd = 1; - if (file) { + if (file && *file != '-') { tarfd = open(file, O_WRONLY | O_TRUNC | O_CREAT, 0644); if (tarfd < 0) eprintf("open %s:", file); @@ -571,7 +571,7 @@ main(int argc, char *argv[]) case 't': case 'x': tarfd = 0; - if (file) { + if (file && *file != '-') { tarfd = open(file, O_RDONLY); if (tarfd < 0) eprintf("open %s:", file);