printf("ccan/failtest\n");
printf("ccan/tally\n");
printf("ccan/typesafe_cb\n");
+ printf("ccan/cast\n");
return 0;
}
const void *tdb_access_read(struct tdb_context *tdb,
tdb_off_t off, tdb_len_t len, bool convert)
{
- const void *ret = NULL;
+ void *ret = NULL;
if (likely(!(tdb->flags & TDB_CONVERT))) {
ret = tdb->methods->direct(tdb, off, len, false);
#ifdef TDB_TRACE
close(tdb->tracefd);
#endif
- free((char *)tdb->name);
+ free(cast_const(char *, tdb->name));
if (tdb->file) {
tdb_unlock_all(tdb);
if (--tdb->file->refcnt == 0) {
else
tdb_munmap(tdb->file);
}
- free((char *)tdb->name);
+ free(cast_const(char *, tdb->name));
if (tdb->file) {
struct tdb_file **i;
#include <ccan/tdb2/tdb2.h>
#include <ccan/likely/likely.h>
#include <ccan/compiler/compiler.h>
+#include <ccan/cast/cast.h>
#if HAVE_BYTESWAP_H
#include <byteswap.h>
#endif
/* Packing errors into pointers and v.v. */
#define TDB_PTR_IS_ERR(ptr) \
- unlikely((void *)(ptr) >= (void *)(long)TDB_ERR_LAST)
+ unlikely((unsigned long)(ptr) >= (unsigned long)TDB_ERR_LAST)
#define TDB_PTR_ERR(p) ((enum TDB_ERROR)(long)(p))
#define TDB_ERR_PTR(err) ((void *)(long)(err))