check_free_list returns a length, not bool.
h = bucket_off(zone_off, i);
for (off = tdb_read_off(tdb, h); off; off = f.next) {
if (off == TDB_OFF_ERR)
h = bucket_off(zone_off, i);
for (off = tdb_read_off(tdb, h); off; off = f.next) {
if (off == TDB_OFF_ERR)
if (tdb_read_convert(tdb, off, &f, sizeof(f)))
if (tdb_read_convert(tdb, off, &f, sizeof(f)))
if (!check_free(tdb, off, &f, prev, zone_off, i))
if (!check_free(tdb, off, &f, prev, zone_off, i))
/* FIXME: Check hash bits */
p = asearch(&off, free, num_free, off_cmp);
/* FIXME: Check hash bits */
p = asearch(&off, free, num_free, off_cmp);
"tdb_check: Invalid offset"
" %llu in free table\n",
(long long)off);
"tdb_check: Invalid offset"
" %llu in free table\n",
(long long)off);
}
/* Mark it invalid. */
*p ^= 1;
}
/* Mark it invalid. */
*p ^= 1;