diff options
author | martin <martin@FreeBSD.org> | 1995-02-10 21:57:02 +0000 |
---|---|---|
committer | martin <martin@FreeBSD.org> | 1995-02-10 21:57:02 +0000 |
commit | f4a355cd1896f74a533ce0cfd615d620d5eb459f (patch) | |
tree | 0ed8270503a07eceaa5012f3c46a9305026099b2 /sbin/restore | |
parent | b05d6b2adca31b4fe6a2e29416dfa7a2bbbb7dfe (diff) | |
download | FreeBSD-src-f4a355cd1896f74a533ce0cfd615d620d5eb459f.zip FreeBSD-src-f4a355cd1896f74a533ce0cfd615d620d5eb459f.tar.gz |
Added FIFO restore capability.
Diffstat (limited to 'sbin/restore')
-rw-r--r-- | sbin/restore/tape.c | 13 |
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); |