Browse Source

tdb2: fix warnings with -Wcast-qual using ccan/cast.

Rusty Russell 15 years ago
parent
commit
45e9956d66
4 changed files with 6 additions and 4 deletions
  1. 1 0
      ccan/tdb2/_info
  2. 1 1
      ccan/tdb2/io.c
  3. 2 2
      ccan/tdb2/open.c
  4. 2 1
      ccan/tdb2/private.h

+ 1 - 0
ccan/tdb2/_info

@@ -86,6 +86,7 @@ int main(int argc, char *argv[])
 		printf("ccan/failtest\n");
 		printf("ccan/failtest\n");
 		printf("ccan/tally\n");
 		printf("ccan/tally\n");
 		printf("ccan/typesafe_cb\n");
 		printf("ccan/typesafe_cb\n");
+		printf("ccan/cast\n");
 		return 0;
 		return 0;
 	}
 	}
 
 

+ 1 - 1
ccan/tdb2/io.c

@@ -439,7 +439,7 @@ static enum TDB_ERROR tdb_expand_file(struct tdb_context *tdb,
 const void *tdb_access_read(struct tdb_context *tdb,
 const void *tdb_access_read(struct tdb_context *tdb,
 			    tdb_off_t off, tdb_len_t len, bool convert)
 			    tdb_off_t off, tdb_len_t len, bool convert)
 {
 {
-	const void *ret = NULL;
+	void *ret = NULL;
 
 
 	if (likely(!(tdb->flags & TDB_CONVERT))) {
 	if (likely(!(tdb->flags & TDB_CONVERT))) {
 		ret = tdb->methods->direct(tdb, off, len, false);
 		ret = tdb->methods->direct(tdb, off, len, false);

+ 2 - 2
ccan/tdb2/open.c

@@ -454,7 +454,7 @@ fail_errno:
 #ifdef TDB_TRACE
 #ifdef TDB_TRACE
 	close(tdb->tracefd);
 	close(tdb->tracefd);
 #endif
 #endif
-	free((char *)tdb->name);
+	free(cast_const(char *, tdb->name));
 	if (tdb->file) {
 	if (tdb->file) {
 		tdb_unlock_all(tdb);
 		tdb_unlock_all(tdb);
 		if (--tdb->file->refcnt == 0) {
 		if (--tdb->file->refcnt == 0) {
@@ -495,7 +495,7 @@ int tdb_close(struct tdb_context *tdb)
 		else
 		else
 			tdb_munmap(tdb->file);
 			tdb_munmap(tdb->file);
 	}
 	}
-	free((char *)tdb->name);
+	free(cast_const(char *, tdb->name));
 	if (tdb->file) {
 	if (tdb->file) {
 		struct tdb_file **i;
 		struct tdb_file **i;
 
 

+ 2 - 1
ccan/tdb2/private.h

@@ -35,6 +35,7 @@
 #include <ccan/tdb2/tdb2.h>
 #include <ccan/tdb2/tdb2.h>
 #include <ccan/likely/likely.h>
 #include <ccan/likely/likely.h>
 #include <ccan/compiler/compiler.h>
 #include <ccan/compiler/compiler.h>
+#include <ccan/cast/cast.h>
 #if HAVE_BYTESWAP_H
 #if HAVE_BYTESWAP_H
 #include <byteswap.h>
 #include <byteswap.h>
 #endif
 #endif
@@ -75,7 +76,7 @@ typedef uint64_t tdb_off_t;
 
 
 /* Packing errors into pointers and v.v. */
 /* Packing errors into pointers and v.v. */
 #define TDB_PTR_IS_ERR(ptr) \
 #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_PTR_ERR(p) ((enum TDB_ERROR)(long)(p))
 #define TDB_ERR_PTR(err) ((void *)(long)(err))
 #define TDB_ERR_PTR(err) ((void *)(long)(err))