[1454] in testers
Re: rt 7.2A: undelete
daemon@ATHENA.MIT.EDU (daemon@ATHENA.MIT.EDU)
Sun Dec 16 18:56:01 1990
Date: Sun, 16 Dec 90 18:55:35 -0500
From: "Jonathan I. Kamens" <jik@pit-manager.MIT.EDU>
To: testers@ATHENA.MIT.EDU
In-Reply-To: testers[1214]
The patch below fixes the bug reported in testers[1214]. The bug is
not severe enough to warrant a change to the 7.2 release at this
point. When the delete project is picked up for the next release,
this patch will be included.
*** /tmp/,RCSt1016040 Sun Dec 16 18:45:31 1990
--- undelete.c Sun Dec 16 18:38:30 1990
***************
*** 217,242 ****
retval = do_undelete(leaf);
if (retval) {
error("do_undelete");
! return retval;
}
}
! if (leaf->dirs) {
! retval = recurs_and_undelete(leaf->dirs);
! if (retval) {
! error("recurs_and_undelete");
! status = retval;
}
- }
! if (leaf->files) {
! retval = recurs_and_undelete(leaf->files);
! if (retval) {
! error("recurs_and_undelete");
! status = retval;
}
}
!
if (leaf->next) {
retval = recurs_and_undelete(leaf->next);
if (retval) {
--- 217,245 ----
retval = do_undelete(leaf);
if (retval) {
error("do_undelete");
! status = retval;
}
}
! if (! status) { /* recurse only if if top-level undelete */
! /* succeeded or was not requested */
! if (leaf->dirs) {
! retval = recurs_and_undelete(leaf->dirs);
! if (retval) {
! error("recurs_and_undelete");
! status = retval;
! }
}
! if (leaf->files) {
! retval = recurs_and_undelete(leaf->files);
! if (retval) {
! error("recurs_and_undelete");
! status = retval;
! }
}
}
!
if (leaf->next) {
retval = recurs_and_undelete(leaf->next);
if (retval) {
***************
*** 244,250 ****
status = retval;
}
}
!
free_leaf(leaf);
return status;
--- 247,253 ----
status = retval;
}
}
!
free_leaf(leaf);
return status;