diff options
author | David Malone <dwmalone@FreeBSD.org> | 2006-12-05 11:18:51 +0000 |
---|---|---|
committer | David Malone <dwmalone@FreeBSD.org> | 2006-12-05 11:18:51 +0000 |
commit | cbc8bb98efc17781454a83b2d5f53042f49a4776 (patch) | |
tree | 93515273cbec28074cbc2e6628a45e20d8f8745d /sbin/restore/restore.c | |
parent | 762d365ac610288281abb20ff2959a084b2548dd (diff) | |
download | src-cbc8bb98efc17781454a83b2d5f53042f49a4776.tar.gz src-cbc8bb98efc17781454a83b2d5f53042f49a4776.zip |
Notes
Diffstat (limited to 'sbin/restore/restore.c')
-rw-r--r-- | sbin/restore/restore.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sbin/restore/restore.c b/sbin/restore/restore.c index 046c0d27afc2..e494cdb69a7d 100644 --- a/sbin/restore/restore.c +++ b/sbin/restore/restore.c @@ -687,6 +687,17 @@ createfiles(void) */ if (first > last) return; + if (Dflag) { + if (curfile.ino == maxino) + return; + if((ep = lookupino(curfile.ino)) != NULL && + (ep->e_flags & (NEW|EXTRACT))) { + goto justgetit; + } else { + skipfile(); + continue; + } + } /* * Reject any volumes with inodes greater than the last * one needed, so that we can quickly skip backwards to @@ -749,6 +760,7 @@ createfiles(void) ep = lookupino(next); if (ep == NULL) panic("corrupted symbol table\n"); +justgetit: (void) extractfile(myname(ep)); ep->e_flags &= ~NEW; if (volno != curvol) |