Deleted Added
full compact
35c35
< static char sccsid[] = "@(#)restore.c 8.1 (Berkeley) 6/5/93";
---
> static char sccsid[] = "@(#)restore.c 8.3 (Berkeley) 9/13/94";
87a88,89
> if (ino == WINO && command == 'i' && !vflag)
> return (descend);
127,128c129,130
< ep = lookupino(ino);
< if (ep != NULL)
---
> ep = lookupname(name);
> if (ep != NULL) {
129a132,135
> ep->e_flags |= REMOVED;
> if (ep->e_type != NODE)
> freeentry(ep);
> }
148a155
> * Remove invalid whiteouts from the old tree.
155,156c162,163
< register struct entry *ep;
< register ino_t i;
---
> register struct entry *ep, *nextep;
> register ino_t i, mydirino;
158a166,181
> if (ep = lookupino(WINO)) {
> vprintf(stdout, "Delete whiteouts\n");
> for ( ; ep != NULL; ep = nextep) {
> nextep = ep->e_links;
> mydirino = ep->e_parent->e_ino;
> /*
> * We remove all whiteouts that are in directories
> * that have been removed or that have been dumped.
> */
> if (TSTINO(mydirino, usedinomap) &&
> !TSTINO(mydirino, dumpmap))
> continue;
> delwhiteout(ep);
> freeentry(ep);
> }
> }
163c186
< if (TSTINO(i, clrimap))
---
> if (TSTINO(i, usedinomap))
747a771,779
> if (ep = lookupino(WINO)) {
> vprintf(stdout, "Add whiteouts\n");
> for ( ; ep != NULL; ep = ep->e_links) {
> if ((ep->e_flags & NEW) == 0)
> continue;
> (void) addwhiteout(myname(ep));
> ep->e_flags &= ~NEW;
> }
> }
779c811
< for (i = ROOTINO; i < maxino; i++) {
---
> for (i = WINO; i < maxino; i++) {