summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-08-02 12:32:55 -0600
committermo khan <mo.khan@gmail.com>2020-08-02 12:32:55 -0600
commit5629d8c8c36631715beed906c29adb19dc66c549 (patch)
treed50bdd1b07abc184a88b2f26bf96d69bee51b303
parenta09ab218137caadab90e873257a1a19014eddb36 (diff)
pass value as **void
-rw-r--r--src/02/04/hash.c2
-rw-r--r--src/02/04/hash.h7
-rw-r--r--src/02/04/hash_test.c2
3 files changed, 8 insertions, 3 deletions
diff --git a/src/02/04/hash.c b/src/02/04/hash.c
index 01942ed..4bf679c 100644
--- a/src/02/04/hash.c
+++ b/src/02/04/hash.c
@@ -61,7 +61,7 @@ void *hash_get(Hash *hash, int key)
return node->value;
}
-void hash_set(Hash *hash, int key, void *value)
+void hash_set(Hash *hash, int key, void **value)
{
node_inspect(hash->head);
int bucket = to_hash(key);
diff --git a/src/02/04/hash.h b/src/02/04/hash.h
index 24ae331..a0244ea 100644
--- a/src/02/04/hash.h
+++ b/src/02/04/hash.h
@@ -4,9 +4,14 @@ typedef struct node {
} Node;
typedef struct {
+ int key;
+ void *value;
+} Tuple;
+
+typedef struct {
Node *head;
} Hash;
Hash *hash_init(int buckets);
void *hash_get(Hash *hash, int key);
-void hash_set(Hash *hash, int key, void *value);
+void hash_set(Hash *hash, int key, void **value);
diff --git a/src/02/04/hash_test.c b/src/02/04/hash_test.c
index 4579102..eb7f1d3 100644
--- a/src/02/04/hash_test.c
+++ b/src/02/04/hash_test.c
@@ -23,7 +23,7 @@ Ensure(HashTable, when_getting_a_values_for_a_key_that_has_been_inserted) {
int value = 100;
Hash *hash = hash_init(13);
- hash_set(hash, key, &value);
+ hash_set(hash, key, value);
assert_that(*(int *)hash_get(hash, key), is_equal_to(value));
}