85 item = gw_malloc(
sizeof(*item));
164 if (dict->
tab[i] == NULL) {
197 dict = gw_malloc(
sizeof(*dict));
202 dict->
size = size_hint * 2;
204 dict->
tab = gw_malloc(
sizeof(dict->
tab[0]) * dict->
size);
205 for (i = 0; i < dict->
size; ++i)
223 for (i = 0; i < dict->
size; ++i) {
224 if (dict->
tab[i] == NULL)
254 if (dict->
tab[i] == NULL) {
294 if (dict->
tab[i] == NULL)
316 if (dict->
tab[i] == NULL)
356 for (i = 0; i < dict->
size; ++i) {
357 if (dict->
tab[i] == NULL)
378 for (i = 0; i < dict->
size; ++i) {
379 if (dict->
tab[i] == NULL)
398 for (i = 0; i < dict->
size; ++i) {
399 if (dict->
tab[i] == NULL)
414 void (*func)(
Octstr *,
void *,
void *),
void *data)
424 for (i = 0; i < dict->
size; ++i) {
425 if (dict->
tab[i] == NULL)
Dict * dict_create(long size_hint, void(*destroy_value)(void *))
void * gwlist_search(List *list, void *pattern, int(*cmp)(void *, void *))
static Item * item_create(Octstr *key, void *value)
gw_assert(wtls_machine->packet_to_send !=NULL)
void dict_put(Dict *dict, Octstr *key, void *value)
void gwlist_append(List *list, void *item)
long gwlist_len(List *list)
long dict_traverse(Dict *dict, void(*func)(Octstr *, void *, void *), void *data)
void * gwlist_get(List *list, long pos)
void gwlist_sort(List *list, int(*cmp)(const void *, const void *))
static void unlock(Dict *dict)
List * gwlist_extract_matching(List *list, void *pat, gwlist_item_matches_t *cmp)
void * dict_remove(Dict *dict, Octstr *key)
void * gwlist_extract_first(List *list)
static int item_has_key(void *item, void *key)
static long key_to_index(Dict *dict, Octstr *key)
void * dict_get(Dict *dict, Octstr *key)
#define octstr_duplicate(ostr)
long dict_key_count(Dict *dict)
unsigned long octstr_hash_key(Octstr *ostr)
void octstr_destroy(Octstr *ostr)
void mutex_destroy(Mutex *mutex)
static int dict_put_true(Dict *dict, Octstr *key, void *value)
Dict * dict_duplicate(Dict *dict, void *(*duplicate_value)(void *))
void dict_destroy(Dict *dict)
long dict_traverse_sorted(Dict *dict, int(*cmp)(const void *, const void *), void(*func)(Octstr *, void *, void *), void *data)
void * gwlist_consume(List *list)
List * dict_keys(Dict *dict)
static int handle_null_value(Dict *dict, Octstr *key, void *value)
int dict_put_once(Dict *dict, Octstr *key, void *value)
static void item_destroy(void *item)
static void lock(Dict *dict)
void(* destroy_value)(void *)
int octstr_compare(const Octstr *ostr1, const Octstr *ostr2)
void gwlist_destroy(List *list, gwlist_item_destructor_t *destructor)