return;
}
- tdb_trace(tdb, "tdb_increment_seqnum");
-
tdb_increment_seqnum_nonblock(tdb);
tdb_brlock(tdb, TDB_SEQNUM_OFS, F_UNLCK, F_SETLKW, 1, 1);
ret = tdb_delete_hash(tdb, key, hash);
tdb_trace(tdb, "tdb_delete ");
tdb_trace_record(tdb, key);
- tdb_trace(tdb, "= %i\n", ret);
+ tdb_trace(tdb, "= %s\n", ret ? "ENOENT" : "0");
return ret;
}
if (dbuf.dptr == NULL) {
dbuf.dptr = (unsigned char *)malloc(new_dbuf.dsize);
} else {
- unsigned char *new_dptr = (unsigned char *)realloc(dbuf.dptr,
- dbuf.dsize + new_dbuf.dsize);
+ unsigned int new_len = dbuf.dsize + new_dbuf.dsize;
+ unsigned char *new_dptr;
+
+ /* realloc '0' is special: don't do that. */
+ if (new_len == 0)
+ new_len = 1;
+ new_dptr = (unsigned char *)realloc(dbuf.dptr, new_len);
if (new_dptr == NULL) {
free(dbuf.dptr);
}
{
tdb_off_t seqnum=0;
- tdb_trace(tdb, "tdb_get_seqnum\n");
tdb_ofs_read(tdb, TDB_SEQNUM_OFS, &seqnum);
+ tdb_trace(tdb, "tdb_get_seqnum = %u\n", seqnum);
return seqnum;
}
{
char msg[256];
va_list args;
- int len;
+ int len, err;
va_start(args, fmt);
len = vsprintf(msg, fmt, args);
va_end(args);
- write(tdb->tracefd, msg, len);
+ err = write(tdb->tracefd, msg, len);
}
void tdb_trace_record(const struct tdb_context *tdb, TDB_DATA rec)
{
char msg[20];
unsigned int i;
+ int err;
- write(tdb->tracefd, msg, sprintf(msg, "%zu:", rec.dsize));
+ err = write(tdb->tracefd, msg, sprintf(msg, "%zu:", rec.dsize));
for (i = 0; i < rec.dsize; i++)
- write(tdb->tracefd, msg, sprintf(msg, "%02x", rec.dptr[i]));
- write(tdb->tracefd, " ", 1);
+ err += write(tdb->tracefd, msg, sprintf(msg, "%02x",
+ rec.dptr[i]));
+ err += write(tdb->tracefd, " ", 1);
}
#endif