void _edje_programs_patterns_clean(Edje *ed) { _edje_signals_sources_patterns_clean(&ed->patterns.programs); eina_rbtree_delete(ed->patterns.programs.exact_match, EINA_RBTREE_FREE_CB(edje_match_signal_source_free), NULL); ed->patterns.programs.exact_match = NULL; free(ed->patterns.programs.u.programs.globing); ed->patterns.programs.u.programs.globing = NULL; }
static void eina_bench_lookup_rbtree(int request) { Eina_Rbtree *root = NULL; int i; int j; for (i = 0; i < request; ++i) { Eina_Bench_Rbtree *tmp; tmp = malloc(sizeof (Eina_Bench_Rbtree)); if (!tmp) continue; tmp->value = i; eina_convert_itoa(i, tmp->key); root = eina_rbtree_inline_insert(root, &tmp->node, EINA_RBTREE_CMP_NODE_CB( _eina_bench_rbtree_cmp), NULL); } srand(time(NULL)); for (j = 0; j < 200; ++j) for (i = 0; i < request; ++i) { Eina_Rbtree *tmp; char tmp_key[10]; eina_convert_itoa(rand() % request, tmp_key); tmp = eina_rbtree_inline_lookup(root, tmp_key, 10, EINA_RBTREE_CMP_KEY_CB( _eina_bench_rbtree_key), NULL); /* Suppress warnings as we really don't want to do anything. */ (void) tmp; } eina_rbtree_delete(root, EINA_RBTREE_FREE_CB(_eina_bench_rbtree_free), NULL); }