SCCS-vsn: sbin/fsck/main.c 2.30
-char version[] = "@(#)main.c 2.29 (Berkeley) %G%";
+char version[] = "@(#)main.c 2.30 (Berkeley) %G%";
#endif
#include <stdio.h>
#endif
#include <stdio.h>
register DINODE *dp;
struct inodesc idesc;
ino_t inumber, orphan;
register DINODE *dp;
struct inodesc idesc;
ino_t inumber, orphan;
bzero((char *)&idesc, sizeof(struct inodesc));
idesc.id_type = DATA;
bzero((char *)&idesc, sizeof(struct inodesc));
idesc.id_type = DATA;
idesc.id_func = findino;
srchname = "..";
idesc.id_parent = inumber;
idesc.id_func = findino;
srchname = "..";
idesc.id_parent = inumber;
do {
orphan = idesc.id_parent;
if ((dp = ginode(orphan)) == NULL)
do {
orphan = idesc.id_parent;
if ((dp = ginode(orphan)) == NULL)
(void)ckinode(dp, &idesc);
if (idesc.id_parent == 0)
break;
(void)ckinode(dp, &idesc);
if (idesc.id_parent == 0)
break;
+ if (loopcnt >= sblock.fs_cstotal.cs_ndir)
+ break;
+ loopcnt++;
} while (statemap[idesc.id_parent] == DSTATE);
if (linkup(orphan, idesc.id_parent) == 1) {
idesc.id_func = pass2check;
} while (statemap[idesc.id_parent] == DSTATE);
if (linkup(orphan, idesc.id_parent) == 1) {
idesc.id_func = pass2check;