- In their previous life these breaks applied to a switch-case but
now they end up aborting the loop on first successful removal, causing
everything but the first file/directory of a package to be left behind
on erase. Fixes the previously unnoticed regression from commit
1845c1d711b88723e596c88e8a7730a360029089.
rpmte te = fsmGetTe(fsm);
if (S_ISDIR(fsm->sb.st_mode)) {
rc = fsmRmdir(fsm->path);
- if (!rc) break;
+ if (!rc) continue;
switch (rc) {
case CPIOERR_ENOENT: /* XXX rmdir("/") linux 2.2.x kernel hack */
case CPIOERR_ENOTEMPTY:
}
} else {
rc = fsmUnlink(fsm->path, fsm->mapFlags);
- if (!rc) break;
+ if (!rc) continue;
switch (rc) {
case CPIOERR_ENOENT:
if (fsm->fflags & RPMFILE_MISSINGOK)