From 3aa4e62438643eed06cb30ab121946f84f0d37b7 Mon Sep 17 00:00:00 2001 From: sebastid Date: Wed, 6 Sep 2006 07:06:55 +0000 Subject: [PATCH] Add const modifier for compare and hash functions. SVN revision: 25515 --- legacy/ecore/src/lib/ecore/Ecore_Data.h | 14 +++++++------- legacy/ecore/src/lib/ecore/ecore_hash.c | 10 +++++----- legacy/ecore/src/lib/ecore/ecore_value.c | 16 ++++++++-------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/legacy/ecore/src/lib/ecore/Ecore_Data.h b/legacy/ecore/src/lib/ecore/Ecore_Data.h index f66a5b501b..4118bde7b4 100644 --- a/legacy/ecore/src/lib/ecore/Ecore_Data.h +++ b/legacy/ecore/src/lib/ecore/Ecore_Data.h @@ -46,10 +46,10 @@ extern "C" { typedef void (*Ecore_Free_Cb) (void *data); # define ECORE_FREE_CB(func) ((Ecore_Free_Cb)func) - typedef unsigned int (*Ecore_Hash_Cb) (void *key); + typedef unsigned int (*Ecore_Hash_Cb) (const void *key); # define ECORE_HASH_CB(function) ((Ecore_Hash_Cb)function) - typedef int (*Ecore_Compare_Cb) (void *data1, void *data2); + typedef int (*Ecore_Compare_Cb) (const void *data1, const void *data2); # define ECORE_COMPARE_CB(function) ((Ecore_Compare_Cb)function) typedef struct _ecore_list Ecore_List; @@ -75,11 +75,11 @@ extern "C" { list of current node */ }; - EAPI int ecore_direct_compare(void *key1, void *key2); - EAPI int ecore_str_compare(void *key1, void *key2); + EAPI int ecore_direct_compare(const void *key1, const void *key2); + EAPI int ecore_str_compare(const void *key1, const void *key2); - EAPI unsigned int ecore_direct_hash(void *key); - EAPI unsigned int ecore_str_hash(void *key); + EAPI unsigned int ecore_direct_hash(const void *key); + EAPI unsigned int ecore_str_hash(const void *key); /* Creating and initializing new list structures */ EAPI Ecore_List *ecore_list_new(void); @@ -241,7 +241,7 @@ extern "C" { EAPI Ecore_List *ecore_hash_keys(Ecore_Hash *hash); /* Retrieve and store data into the hash */ - EAPI void *ecore_hash_get(Ecore_Hash *hash, void *key); + EAPI void *ecore_hash_get(Ecore_Hash *hash, const void *key); EAPI int ecore_hash_set(Ecore_Hash *hash, void *key, void *value); EAPI void *ecore_hash_remove(Ecore_Hash *hash, void *key); EAPI void ecore_hash_dump_graph(Ecore_Hash *hash); diff --git a/legacy/ecore/src/lib/ecore/ecore_hash.c b/legacy/ecore/src/lib/ecore/ecore_hash.c index bb2a0f4506..2c5d925a1f 100644 --- a/legacy/ecore/src/lib/ecore/ecore_hash.c +++ b/legacy/ecore/src/lib/ecore/ecore_hash.c @@ -20,14 +20,14 @@ /* Private hash manipulation functions */ static int _ecore_hash_add_node(Ecore_Hash *hash, Ecore_Hash_Node *node); -static Ecore_Hash_Node * _ecore_hash_get_node(Ecore_Hash *hash, void *key); +static Ecore_Hash_Node * _ecore_hash_get_node(Ecore_Hash *hash, const void *key); static int _ecore_hash_increase(Ecore_Hash *hash); static int _ecore_hash_decrease(Ecore_Hash *hash); inline int _ecore_hash_rehash(Ecore_Hash *hash, Ecore_Hash_Node **old_table, int old_size); static int _ecore_hash_bucket_destroy(Ecore_Hash_Node *list, Ecore_Free_Cb keyd, Ecore_Free_Cb valued); inline Ecore_Hash_Node * _ecore_hash_get_bucket(Ecore_Hash *hash, - Ecore_Hash_Node *bucket, void *key); + Ecore_Hash_Node *bucket, const void *key); static Ecore_Hash_Node *_ecore_hash_node_new(void *key, void *value); static int _ecore_hash_node_init(Ecore_Hash_Node *node, void *key, void *value); @@ -360,7 +360,7 @@ _ecore_hash_add_node(Ecore_Hash *hash, Ecore_Hash_Node *node) * @ingroup Ecore_Data_Hash_ADT_Data_Group */ EAPI void * -ecore_hash_get(Ecore_Hash *hash, void *key) +ecore_hash_get(Ecore_Hash *hash, const void *key) { void *data; Ecore_Hash_Node *node; @@ -459,7 +459,7 @@ ecore_hash_remove(Ecore_Hash *hash, void *key) * @return Returns NULL on error, node corresponding to key on success */ static Ecore_Hash_Node * -_ecore_hash_get_node(Ecore_Hash *hash, void *key) +_ecore_hash_get_node(Ecore_Hash *hash, const void *key) { unsigned int hash_val; Ecore_Hash_Node *node = NULL; @@ -503,7 +503,7 @@ _ecore_hash_get_node(Ecore_Hash *hash, void *key) * @return Returns NULL on error or not found, the found node on success */ inline Ecore_Hash_Node * -_ecore_hash_get_bucket(Ecore_Hash *hash, Ecore_Hash_Node *bucket, void *key) +_ecore_hash_get_bucket(Ecore_Hash *hash, Ecore_Hash_Node *bucket, const void *key) { Ecore_Hash_Node *prev = NULL; Ecore_Hash_Node *node = NULL; diff --git a/legacy/ecore/src/lib/ecore/ecore_value.c b/legacy/ecore/src/lib/ecore/ecore_value.c index 8117c99114..de02675c8c 100644 --- a/legacy/ecore/src/lib/ecore/ecore_value.c +++ b/legacy/ecore/src/lib/ecore/ecore_value.c @@ -53,7 +53,7 @@ ecore_print_warning(const char *function, const char *sparam) * @return The key cast to an unsigned int. */ EAPI unsigned int -ecore_direct_hash(void *key) +ecore_direct_hash(const void *key) { return ((unsigned int) key); } @@ -64,11 +64,11 @@ ecore_direct_hash(void *key) * @return A computed hash value for @a key. */ EAPI unsigned int -ecore_str_hash(void *key) +ecore_str_hash(const void *key) { int i; unsigned int value = 0; - char *k = (char *) key; + const char *k = key; if (!k) return 0; @@ -89,7 +89,7 @@ ecore_str_hash(void *key) * @return A strcmp style value to indicate the larger key */ EAPI int -ecore_direct_compare(void *key1, void *key2) +ecore_direct_compare(const void *key1, const void *key2) { unsigned int k1, k2; @@ -112,17 +112,17 @@ ecore_direct_compare(void *key1, void *key2) * @return A strcmp style value to indicate the larger key */ EAPI int -ecore_str_compare(void *key1, void *key2) +ecore_str_compare(const void *key1, const void *key2) { - char *k1, *k2; + const char *k1, *k2; if (!key1 || !key2) return ecore_direct_compare(key1, key2); else if (key1 == key2) return 0; - k1 = (char *) key1; - k2 = (char *) key2; + k1 = key1; + k2 = key2; return strcmp(k1, k2); }