shash: Make it more convenient to store "const" objects in an shash.
authorBen Pfaff <blp@nicira.com>
Fri, 20 Nov 2009 23:39:07 +0000 (15:39 -0800)
committerBen Pfaff <blp@nicira.com>
Fri, 20 Nov 2009 23:39:07 +0000 (15:39 -0800)
lib/shash.c
lib/shash.h

index c35164b..e6cb6b0 100644 (file)
@@ -67,11 +67,11 @@ shash_count(const struct shash *shash)
 /* It is the caller's responsibility to avoid duplicate names, if that is
  * desirable. */
 struct shash_node *
-shash_add(struct shash *sh, const char *name, void *data)
+shash_add(struct shash *sh, const char *name, const void *data)
 {
     struct shash_node *node = xmalloc(sizeof *node);
     node->name = xstrdup(name);
-    node->data = data;
+    node->data = (void *) data;
     hmap_insert(&sh->map, &node->node, hash_name(name));
     return node;
 }
index c2d13b1..236d865 100644 (file)
@@ -43,7 +43,7 @@ void shash_destroy(struct shash *);
 void shash_clear(struct shash *);
 bool shash_is_empty(const struct shash *);
 size_t shash_count(const struct shash *);
-struct shash_node *shash_add(struct shash *, const char *, void *);
+struct shash_node *shash_add(struct shash *, const char *, const void *);
 void shash_delete(struct shash *, struct shash_node *);
 struct shash_node *shash_find(const struct shash *, const char *);
 void *shash_find_data(const struct shash *, const char *);