void * elixir_jsmap_find(Eina_List **list, jsval val, int type) { Elixir_Jsmap *m; Eina_List *l; EINA_LIST_FOREACH(*list, l, m) if (m->val == val && m->type == type) { *list = eina_list_promote_list(*list, l); return m->data; } return NULL; }
EAPI void efreet_icon_extension_add(const char *ext) { Eina_List *l; EINA_SAFETY_ON_NULL_RETURN(ext); ext = eina_stringshare_add(ext); if ((l = eina_list_data_find_list(efreet_icon_extensions, ext))) { efreet_icon_extensions = eina_list_promote_list(efreet_icon_extensions, l); eina_stringshare_del(ext); } else efreet_icon_extensions = eina_list_prepend(efreet_icon_extensions, ext); }
int main(int argc, char **argv) { (void)argc; (void)argv; Eina_List *list = NULL, *r_list; Eina_List *l; Eina_Iterator *itr; void *list_data; eina_init(); list = eina_list_append(list, "caprica"); list = eina_list_append(list, "sagitarius"); list = eina_list_append(list, "aerilon"); list = eina_list_append(list, "gemenon"); list = eina_list_promote_list(list, eina_list_nth_list(list, 2)); list = eina_list_demote_list(list, eina_list_nth_list(list, 2)); list = eina_list_remove(list, "sagitarius"); l = eina_list_data_find_list(list, "aerilon"); eina_list_data_set(l, "aquarius"); printf("size: %d\n", eina_list_count(list)); r_list = eina_list_reverse_clone(list); itr = eina_list_iterator_new(r_list); EINA_ITERATOR_FOREACH(itr, list_data) printf("%s\n", (char*)list_data); eina_iterator_free(itr); eina_list_free(list); eina_list_free(r_list); eina_shutdown(); return 0; }
RenderThemeEfl::ThemePartCacheEntry* RenderThemeEfl::getThemePartFromCache(FormType type, const IntSize& size) { void* data; Eina_List* node; Eina_List* reusableNode = 0; // Look for the item in the cache. EINA_LIST_FOREACH(m_partCache, node, data) { ThemePartCacheEntry* cachedEntry = static_cast<ThemePartCacheEntry*>(data); if (cachedEntry->size == size) { if (cachedEntry->type == type) { // Found the right item, move it to the head of the list // and return it. m_partCache = eina_list_promote_list(m_partCache, node); return cachedEntry; } // We reuse in priority the last item in the list that has // the requested size. reusableNode = node; } }