DH_NFSTATS
int dh_firstfree[DH_NFSTATS + 1]; /* first blk with N words free */
for (i = 0; i < DH_NFSTATS; i++)
dh->dh_firstfree[DH_NFSTATS] = 0;
for (i = howmany(slotneeded, DIRALIGN); i <= DH_NFSTATS; i++)
#define BLKFREE2IDX(n) ((n) > DH_NFSTATS ? DH_NFSTATS : (n))
if (dh->dh_firstfree[DH_NFSTATS] == -1)
dh->dh_firstfree[DH_NFSTATS] = block;
if (dh->dh_firstfree[DH_NFSTATS] >= block)
dh->dh_firstfree[DH_NFSTATS] = -1;
for (i = 0; i < DH_NFSTATS; i++)
for (i = 0; i <= DH_NFSTATS; i++)