summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sbin/restore/tape.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/sbin/restore/tape.c b/sbin/restore/tape.c
index 368c59c..965a28e 100644
--- a/sbin/restore/tape.c
+++ b/sbin/restore/tape.c
@@ -545,6 +545,19 @@ extractfile(name)
}
return (linkit(lnkbuf, name, SYMLINK));
+ case IFIFO:
+ if (mkfifo(name, mode) < 0) {
+ fprintf(stderr, "%s: cannot create FIFO: %s\n",
+ name, strerror(errno));
+ skipfile();
+ return (FAIL);
+ }
+ (void) chown(name, curfile.dip->di_uid, curfile.dip->di_gid);
+ (void) chmod(name, mode);
+ skipfile();
+ utimes(name, timep);
+ return (GOOD);
+
case IFCHR:
case IFBLK:
vprintf(stdout, "extract special file %s\n", name);
OpenPOWER on IntegriCloud