+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
#ifndef lint
-static char version[] = "@(#)pass1.c 3.7 (Berkeley) %G%";
-#endif
+static char sccsid[] = "@(#)pass1.c 5.3 (Berkeley) %G%";
+#endif not lint
#include <sys/param.h>
#include <sys/inode.h>
printf("bad size %d:", dp->di_size);
goto unknown;
}
+ if (!preen && (dp->di_mode & IFMT) == IFMT &&
+ reply("HOLD BAD BLOCK") == 1) {
+ dp->di_size = sblock.fs_fsize;
+ dp->di_mode = IFREG|0600;
+ inodirty();
+ }
ndb = howmany(dp->di_size, sblock.fs_bsize);
if (SPECIAL(dp))
ndb++;
dp->di_ib[j]);
goto unknown;
}
- if (!preen && (dp->di_mode & IFMT) == IFMT &&
- reply("HOLD BAD BLOCK") == 1) {
- dp->di_size = sblock.fs_fsize;
- dp->di_mode = IFREG|0600;
- inodirty();
- } else if (ftypeok(dp) == 0)
+ if (ftypeok(dp) == 0)
goto unknown;
n_files++;
lncntp[inumber] = dp->di_nlink;
continue;
unknown:
pfatal("UNKNOWN FILE TYPE I=%u", inumber);
+ statemap[inumber] = FCLEAR;
if (reply("CLEAR") == 1) {
+ statemap[inumber] = USTATE;
zapino(dp);
inodirty();
}