return false;
}
if (tdb->methods->oob(tdb, off
- + frec->data_len-sizeof(struct tdb_used_record),
- true))
+ + frec->data_len+sizeof(struct tdb_used_record),
+ false))
return false;
if (off < zone_off || off >= zone_off + (1ULL<<frec_zone_bits(frec))) {
tdb->log(tdb, TDB_DEBUG_ERROR, tdb->log_priv,
h = bucket_off(zone_off, i);
for (off = tdb_read_off(tdb, h); off; off = f.next) {
if (off == TDB_OFF_ERR)
- return false;
+ return TDB_OFF_ERR;
if (tdb_read_convert(tdb, off, &f, sizeof(f)))
- return false;
+ return TDB_OFF_ERR;
if (!check_free(tdb, off, &f, prev, zone_off, i))
- return false;
+ return TDB_OFF_ERR;
/* FIXME: Check hash bits */
p = asearch(&off, free, num_free, off_cmp);
"tdb_check: Invalid offset"
" %llu in free table\n",
(long long)off);
- return false;
+ return TDB_OFF_ERR;
}
/* Mark it invalid. */
*p ^= 1;
unsigned max_zone_bits = INITIAL_ZONE_BITS;
uint8_t tailer;
- /* This always ensures the header is uptodate. */
if (tdb_allrecord_lock(tdb, F_RDLCK, TDB_LOCK_WAIT, false) != 0)
return -1;