static void epdf_index_fill(Eina_List **items, pdf_outline *entry) { Epdf_Index_Item *item; item = epdf_index_item_new(); item->title = entry->title; item->link = entry->link; *items = eina_list_append (*items, item); if (entry->child) epdf_index_fill(&item->children, entry->child); if (entry->next) epdf_index_fill(items, entry->next); }
static void epdf_index_fill (Ecore_List *items, GooList *gitems) { if (!items || !gitems) return; for (int i = 0; i < gitems->getLength (); i++) { Epdf_Index_Item *item; OutlineItem *oitem = (OutlineItem *)gitems->get (i); Unicode *utitle = oitem->getTitle (); item = epdf_index_item_new (); item->title = unicode_to_char (utitle, oitem->getTitleLength ()); item->action = oitem->getAction (); oitem->open (); if (oitem->hasKids () && oitem->getKids ()) { item->children = ecore_list_new (); epdf_index_fill (item->children, oitem->getKids ()); } ecore_list_append (items, item); } }