Lines Matching refs:hashlin

259 void ucl_hash_destroy (ucl_hash_t* hashlin, ucl_hash_free_func func)  in ucl_hash_destroy()  argument
263 if (hashlin == NULL) { in ucl_hash_destroy()
270 hashlin->hash; in ucl_hash_destroy()
285 if (hashlin->caseless) { in ucl_hash_destroy()
287 hashlin->hash; in ucl_hash_destroy()
292 hashlin->hash; in ucl_hash_destroy()
296 kv_destroy (hashlin->ar); in ucl_hash_destroy()
297 UCL_FREE (sizeof (*hashlin), hashlin); in ucl_hash_destroy()
301 ucl_hash_insert (ucl_hash_t* hashlin, const ucl_object_t *obj, in ucl_hash_insert() argument
308 if (hashlin == NULL) { in ucl_hash_insert()
312 if (hashlin->caseless) { in ucl_hash_insert()
314 hashlin->hash; in ucl_hash_insert()
318 kv_push_safe (const ucl_object_t *, hashlin->ar, obj, e0); in ucl_hash_insert()
320 elt->ar_idx = kv_size (hashlin->ar) - 1; in ucl_hash_insert()
325 hashlin->hash; in ucl_hash_insert()
329 kv_push_safe (const ucl_object_t *, hashlin->ar, obj, e0); in ucl_hash_insert()
331 elt->ar_idx = kv_size (hashlin->ar) - 1; in ucl_hash_insert()
341 void ucl_hash_replace (ucl_hash_t* hashlin, const ucl_object_t *old, in ucl_hash_replace() argument
348 if (hashlin == NULL) { in ucl_hash_replace()
352 if (hashlin->caseless) { in ucl_hash_replace()
354 hashlin->hash; in ucl_hash_replace()
363 kv_A (hashlin->ar, elt.ar_idx) = new; in ucl_hash_replace()
368 hashlin->hash; in ucl_hash_replace()
377 kv_A (hashlin->ar, elt.ar_idx) = new; in ucl_hash_replace()
390 ucl_hash_iterate2 (ucl_hash_t *hashlin, ucl_hash_iter_t *iter, int *ep) in ucl_hash_iterate2() argument
395 if (hashlin == NULL) { in ucl_hash_iterate2()
408 it->cur = &hashlin->ar.a[0]; in ucl_hash_iterate2()
409 it->end = it->cur + hashlin->ar.n; in ucl_hash_iterate2()
428 ucl_hash_iter_has_next (ucl_hash_t *hashlin, ucl_hash_iter_t iter) in ucl_hash_iter_has_next() argument
437 ucl_hash_search (ucl_hash_t* hashlin, const char *key, unsigned keylen) in ucl_hash_search() argument
447 if (hashlin == NULL) { in ucl_hash_search()
451 if (hashlin->caseless) { in ucl_hash_search()
453 hashlin->hash; in ucl_hash_search()
463 hashlin->hash; in ucl_hash_search()
475 ucl_hash_delete (ucl_hash_t* hashlin, const ucl_object_t *obj) in ucl_hash_delete() argument
481 if (hashlin == NULL) { in ucl_hash_delete()
485 if (hashlin->caseless) { in ucl_hash_delete()
487 hashlin->hash; in ucl_hash_delete()
493 kv_del (const ucl_object_t *, hashlin->ar, elt->ar_idx); in ucl_hash_delete()
497 for (; i < hashlin->ar.n; i ++) { in ucl_hash_delete()
505 hashlin->hash; in ucl_hash_delete()
510 kv_del (const ucl_object_t *, hashlin->ar, elt->ar_idx); in ucl_hash_delete()
514 for (; i < hashlin->ar.n; i ++) { in ucl_hash_delete()
522 bool ucl_hash_reserve (ucl_hash_t *hashlin, size_t sz) in ucl_hash_reserve() argument
524 if (hashlin == NULL) { in ucl_hash_reserve()
528 if (sz > hashlin->ar.m) { in ucl_hash_reserve()
529 kv_resize_safe (const ucl_object_t *, hashlin->ar, sz, e0); in ucl_hash_reserve()
531 if (hashlin->caseless) { in ucl_hash_reserve()
534 hashlin->hash; in ucl_hash_reserve()
538 hashlin->hash; in ucl_hash_reserve()
618 ucl_hash_sort (ucl_hash_t *hashlin, enum ucl_object_keys_sort_flags fl) in ucl_hash_sort() argument
622 qsort (hashlin->ar.a, hashlin->ar.n, sizeof (ucl_object_t *), in ucl_hash_sort()
626 qsort (hashlin->ar.a, hashlin->ar.n, sizeof (ucl_object_t *), in ucl_hash_sort()
631 for (size_t i = 0; i < hashlin->ar.n; i ++) { in ucl_hash_sort()
632 if (ucl_object_type (hashlin->ar.a[i]) == UCL_OBJECT) { in ucl_hash_sort()
633 ucl_hash_sort (hashlin->ar.a[i]->value.ov, fl); in ucl_hash_sort()