return strcmp((char *) k1, (char *) k2) ? 0 : 1;
}
+static inline int switch_hash_equalkeys_ci(void *k1, void *k2)
+{
+ return strcasecmp((char *) k1, (char *) k2) ? 0 : 1;
+}
+
static inline uint32_t switch_hash_default(void *ky)
{
unsigned char *str = (unsigned char *) ky;
SWITCH_DECLARE(switch_status_t) switch_core_hash_init_case(switch_hash_t **hash, switch_bool_t case_sensitive)
{
- return switch_create_hashtable(hash, 16, case_sensitive ? switch_hash_default : switch_hash_default_ci, switch_hash_equalkeys);
+ if (case_sensitive) {
+ return switch_create_hashtable(hash, 16, switch_hash_default, switch_hash_equalkeys);
+ } else {
+ return switch_create_hashtable(hash, 16, switch_hash_default_ci, switch_hash_equalkeys_ci);
+ }
}