Enlightenment CVS committal

Author  : onefang
Project : e17
Module  : apps/e_utils

Dir     : e17/apps/e_utils/src/bin/e17genmenu/src/bin


Modified Files:
        Makefile.am fdo_menus.c fdo_menus.h fdo_paths.c fdo_paths.h 
        icons.c main.c menus.c parse.c parse.h xmlame.c xmlame.h 
Removed Files:
        dumb_list.c dumb_list.h 


Log Message:
Dumb list is now a dumb tree.  It's still dumb though.

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/Makefile.am,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- Makefile.am 9 Feb 2006 09:34:11 -0000       1.5
+++ Makefile.am 22 Feb 2006 04:15:44 -0000      1.6
@@ -16,12 +16,12 @@
 bin_PROGRAMS = e17genmenu
 
 e17genmenu_SOURCES = main.c global.c menus.c parse.c eaps.c icons.c \
-       category.c order.c sort.c fdo_menus.c fdo_paths.c dumb_list.c \
+       category.c order.c sort.c fdo_menus.c fdo_paths.c dumb_tree.c \
        xmlame.c
 
 noinst_HEADERS = global.h menus.h parse.h eaps.h icons.h \
        category.h order.h sort.h fdo_menus.h fdo_paths.h \
-       dumb_list.h xmlame.h
+       dumb_tree.h xmlame.h
 
 e17genmenu_LDADD = @EET_LIBS@ @ECORE_LIBS@ @ENGRAVE_LIBS@
 
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/fdo_menus.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- fdo_menus.c 20 Feb 2006 08:51:17 -0000      1.15
+++ fdo_menus.c 22 Feb 2006 04:15:44 -0000      1.16
@@ -30,62 +30,62 @@
 
 struct _fdo_menus_unxml_data
 {
-   Dumb_List *menus;
+   Dumb_Tree *menus;
    char *file;
    char *base;
    char *path;
-   Dumb_List *stack;
-   Dumb_List *merge_stack;
+   Dumb_Tree *stack;
+   Dumb_Tree *merge_stack;
    int unallocated;
 };
 
 struct _fdo_menus_generate_data
 {
    char *name, *path;
-   Dumb_List *rules;
+   Dumb_Tree *rules;
    Ecore_Hash *pool, *apps;
    int unallocated;
 
-   Dumb_List *rule;
+   Dumb_Tree *rule;
    int include;
 };
 
-static int _fdo_menus_unxml(const void *data, Dumb_List *list, int element, 
int level);
+static int _fdo_menus_unxml(const void *data, Dumb_Tree *tree, int element, 
int level);
 static int _fdo_menus_check_directory(const void *data, char *path);
 static int _fdo_menus_check_menu(const void *data, char *path);
-static void _fdo_menus_unxml_rules(Dumb_List *rules, Dumb_List *list, char 
type, char sub_type);
-static void _fdo_menus_unxml_moves(Dumb_List *menu, Dumb_List *list);
-static void _fdo_menus_add_dirs(Dumb_List *list, Dumb_List *paths, char *pre, 
char *post, char *extra, int element);
+static void _fdo_menus_unxml_rules(Dumb_Tree *rules, Dumb_Tree *tree, char 
type, char sub_type);
+static void _fdo_menus_unxml_moves(Dumb_Tree *menu, Dumb_Tree *tree);
+static void _fdo_menus_add_dirs(Dumb_Tree *tree, Dumb_Tree *paths, char *pre, 
char *post, char *extra, int element);
 static int _fdo_menus_expand_apps(struct _fdo_menus_unxml_data *unxml_data, 
char *app_dir, Ecore_Hash *pool);
 static int _fdo_menus_check_app(const void *data, char *path);
-static int _fdo_menus_generate(const void *data, Dumb_List *list, int element, 
int level);
+static int _fdo_menus_generate(const void *data, Dumb_Tree *tree, int element, 
int level);
 static void _fdo_menus_inherit_apps(void *value, void *user_data);
 static void _fdo_menus_select_app(void *value, void *user_data);
-static int _fdo_menus_apply_rules(struct _fdo_menus_generate_data 
*generate_data, Dumb_List *rule, char *key, Desktop *desktop);
+static int _fdo_menus_apply_rules(struct _fdo_menus_generate_data 
*generate_data, Dumb_Tree *rule, char *key, Desktop *desktop);
 
 
-Dumb_List *
-fdo_menus_get(char *file, Dumb_List *xml)
+Dumb_Tree *
+fdo_menus_get(char *file, Dumb_Tree *xml)
 {
    struct _fdo_menus_unxml_data data;
 
    data.file = file;
-   data.menus = dumb_list_new(NULL);
-   data.stack = dumb_list_new(NULL);
+   data.menus = dumb_tree_new(NULL);
+   data.stack = dumb_tree_new(NULL);
    if ((data.menus) && (data.stack))
       {
          data.base = ecore_file_strip_ext(ecore_file_get_file(file));
          data.path = ecore_file_get_dir(file);
         if ((data.base) && (data.path))
            {
-               dumb_list_foreach(xml, 0, _fdo_menus_unxml, &data);
-               dumb_list_dump(xml, 0);
+               dumb_tree_foreach(xml, 0, _fdo_menus_unxml, &data);
+               dumb_tree_dump(xml, 0);
                printf("\n\n");
                data.unallocated = FALSE;
-               dumb_list_foreach(xml, 0, _fdo_menus_generate, &data);
+               dumb_tree_foreach(xml, 0, _fdo_menus_generate, &data);
                data.unallocated = TRUE;
-               dumb_list_foreach(xml, 0, _fdo_menus_generate, &data);
-               dumb_list_dump(xml, 0);
+               dumb_tree_foreach(xml, 0, _fdo_menus_generate, &data);
+               dumb_tree_dump(xml, 0);
                printf("\n\n");
            }
          E_FREE(data.path);
@@ -93,35 +93,35 @@
       }
    else
       {
-         E_FN_DEL(dumb_list_del, (data.stack));
-         E_FN_DEL(dumb_list_del, (data.menus));
+         E_FN_DEL(dumb_tree_del, (data.stack));
+         E_FN_DEL(dumb_tree_del, (data.menus));
       }
    return data.menus;
 }
 
 
 static int
-_fdo_menus_unxml(const void *data, Dumb_List *list, int element, int level)
+_fdo_menus_unxml(const void *data, Dumb_Tree *tree, int element, int level)
 {
    struct _fdo_menus_unxml_data *unxml_data;
-   Dumb_List *menus;
+   Dumb_Tree *menus;
 
    unxml_data = (struct _fdo_menus_unxml_data *) data;
-   menus = (Dumb_List *) unxml_data->menus;
-   if (list->elements[element].type == DUMB_LIST_ELEMENT_TYPE_STRING)
+   menus = (Dumb_Tree *) unxml_data->menus;
+   if (tree->elements[element].type == DUMB_TREE_ELEMENT_TYPE_STRING)
       {
-         if (strncmp((char *) list->elements[element].element, "<!", 2) == 0)
+         if (strncmp((char *) tree->elements[element].element, "<!", 2) == 0)
            {
-               list->elements[element].type = DUMB_LIST_ELEMENT_TYPE_NULL;
-               list->elements[element].element = NULL;
+               tree->elements[element].type = DUMB_TREE_ELEMENT_TYPE_NULL;
+               tree->elements[element].element = NULL;
            }
-         else if (strcmp((char *) list->elements[element].element, "<Menu") == 
0)
+         else if (strcmp((char *) tree->elements[element].element, "<Menu") == 
0)
            {
-               Dumb_List *menu, *rules;
+               Dumb_Tree *menu, *rules;
                Ecore_Hash *pool, *apps;
 
-               menu = dumb_list_new(NULL);
-               rules = dumb_list_new(NULL);
+               menu = dumb_tree_new(NULL);
+               rules = dumb_tree_new(NULL);
                pool = ecore_hash_new(ecore_str_hash, ecore_str_compare);
                apps = ecore_hash_new(ecore_str_hash, ecore_str_compare);
                if ((menu) && (rules) && (pool) && (apps))
@@ -135,58 +135,58 @@
                      ecore_hash_set_free_key(apps, free);
                      ecore_hash_set_free_value(apps, free);
                     sprintf(temp, "<MENU <%.3s> <%s> <%s>", flags, name, 
directory);
-                    dumb_list_extend(menu, temp);
+                    dumb_tree_extend(menu, temp);
                     sprintf(temp, "<MENU_PATH %s", menu_path);
-                    dumb_list_extend(menu, temp);
+                    dumb_tree_extend(menu, temp);
                     flags = (char *) menu->elements[0].element;
                     flags += 7;
-                    dumb_list_add_hash(menu, pool);
-                    dumb_list_add_child(menu, rules);
-                    dumb_list_add_hash(menu, apps);
-                     list->elements[element].element = menu;
-                     list->elements[element].type = 
DUMB_LIST_ELEMENT_TYPE_LIST;
-                    for (i = element + 1; i < list->size; i++)
+                    dumb_tree_add_hash(menu, pool);
+                    dumb_tree_add_child(menu, rules);
+                    dumb_tree_add_hash(menu, apps);
+                     tree->elements[element].element = menu;
+                     tree->elements[element].type = 
DUMB_TREE_ELEMENT_TYPE_TREE;
+                    for (i = element + 1; i < tree->size; i++)
                        {
                            int result = 0;
 
-                           if (list->elements[i].type == 
DUMB_LIST_ELEMENT_TYPE_STRING)
+                           if (tree->elements[i].type == 
DUMB_TREE_ELEMENT_TYPE_STRING)
                               {
-                                 if (strncmp((char *) 
list->elements[i].element, "<!", 2) == 0)
+                                 if (strncmp((char *) 
tree->elements[i].element, "<!", 2) == 0)
                                    {
-                                       list->elements[i].type = 
DUMB_LIST_ELEMENT_TYPE_NULL;
-                                       list->elements[i].element = NULL;
+                                       tree->elements[i].type = 
DUMB_TREE_ELEMENT_TYPE_NULL;
+                                       tree->elements[i].element = NULL;
                                    }
-                                 else if (strcmp((char *) 
list->elements[i].element, "<Deleted/") == 0)
+                                 else if (strcmp((char *) 
tree->elements[i].element, "<Deleted/") == 0)
                                    {
                                       flags[1] = 'D';
                                       result = 1;
                                    }
-                                 else if (strcmp((char *) 
list->elements[i].element, "<NotDeleted/") == 0)
+                                 else if (strcmp((char *) 
tree->elements[i].element, "<NotDeleted/") == 0)
                                    {
                                       flags[1] = ' ';
                                       result = 1;
                                    }
-                                 else if (strcmp((char *) 
list->elements[i].element, "<OnlyUnallocated/") == 0)
+                                 else if (strcmp((char *) 
tree->elements[i].element, "<OnlyUnallocated/") == 0)
                                    {
                                       flags[2] = 'O';
                                       result = 1;
                                    }
-                                 else if (strcmp((char *) 
list->elements[i].element, "<NotOnlyUnallocated/") == 0)
+                                 else if (strcmp((char *) 
tree->elements[i].element, "<NotOnlyUnallocated/") == 0)
                                    {
                                       flags[2] = ' ';
                                       result = 1;
                                    }
-                                 else if (strcmp((char *) 
list->elements[i].element, "<DefaultAppDirs/") == 0)
+                                 else if (strcmp((char *) 
tree->elements[i].element, "<DefaultAppDirs/") == 0)
                                    {
                                        _fdo_menus_add_dirs(menu, 
fdo_paths_desktops, "<AppDir", "</AppDir", NULL, i);
                                       result = 1;
                                    }
-                                 else if (strcmp((char *) 
list->elements[i].element, "<DefaultDirectoryDirs/") == 0)
+                                 else if (strcmp((char *) 
tree->elements[i].element, "<DefaultDirectoryDirs/") == 0)
                                    {
                                        _fdo_menus_add_dirs(menu, 
fdo_paths_directories, "<DirectoryDir", "</DirectoryDir", NULL, i);
                                       result = 1;
                                    }
-                                 else if (strcmp((char *) 
list->elements[i].element, "<DefaultMergeDirs/") == 0)
+                                 else if (strcmp((char *) 
tree->elements[i].element, "<DefaultMergeDirs/") == 0)
                                    {
                                       if (unxml_data->base)
                                          {
@@ -194,29 +194,29 @@
                                             result = 1;
                                          }
                                    }
-                                 else if (strcmp((char *) 
list->elements[i].element, "<KDELegacyDirs/") == 0)
+                                 else if (strcmp((char *) 
tree->elements[i].element, "<KDELegacyDirs/") == 0)
                                    {
                                        _fdo_menus_add_dirs(menu, 
fdo_paths_kde_legacy, "<LegacyDir prefix=\"kde-\"", "</LegacyDir", NULL, i);
                                       result = 1;
                                    }
-                                 else if (strcmp((char *) 
list->elements[i].element, "</Menu") == 0)
+                                 else if (strcmp((char *) 
tree->elements[i].element, "</Menu") == 0)
                                    {
                                       result = 1;
                                    }
                                 else
                                    {
-                                      dumb_list_extend(menu, (char *) 
list->elements[i].element);
+                                      dumb_tree_extend(menu, (char *) 
tree->elements[i].element);
                                       result = 1;
                                    }
                              }
-                           else if (list->elements[i].type == 
DUMB_LIST_ELEMENT_TYPE_LIST)
+                           else if (tree->elements[i].type == 
DUMB_TREE_ELEMENT_TYPE_TREE)
                               {
-                                 Dumb_List *sub;
+                                 Dumb_Tree *sub;
 
-                                 sub = (Dumb_List *) list->elements[i].element;
+                                 sub = (Dumb_Tree *) tree->elements[i].element;
                                 if ((sub) && (sub->size))
                                    {
-                                       if (sub->elements[0].type == 
DUMB_LIST_ELEMENT_TYPE_STRING)
+                                       if (sub->elements[0].type == 
DUMB_TREE_ELEMENT_TYPE_STRING)
                                           {
                                              if (strcmp((char *) 
sub->elements[0].element, "<Name") == 0)
                                                {
@@ -225,16 +225,16 @@
                                                   name = strdup((char *) 
sub->elements[1].element);
                                                   sprintf(temp, "<MENU <%.3s> 
<%s> <%s>", flags, name, directory);
                                                   menu->elements[0].element = 
strdup(temp);
-                                                   dumb_list_track(menu, name);
-                                                   dumb_list_track(menu, 
menu->elements[0].element);
+                                                   dumb_tree_track(menu, name);
+                                                   dumb_tree_track(menu, 
menu->elements[0].element);
                                                   flags = (char *) 
menu->elements[0].element;
                                                   flags += 7;
                                                   /* The rest of this is 
probably not needed, except to ease debugging. */
                                                   if (unxml_data->stack->size 
<= level)
                                                      {
                                                         while 
(unxml_data->stack->size < level)
-                                                           
dumb_list_add(unxml_data->stack, "");
-                                                        
dumb_list_add(unxml_data->stack, name);
+                                                           
dumb_tree_add(unxml_data->stack, "");
+                                                        
dumb_tree_add(unxml_data->stack, name);
                                                      }
                                                   else
                                                         
unxml_data->stack->elements[level].element = name;
@@ -254,8 +254,8 @@
                                                   menu_path = strdup(temp);
                                                   sprintf(temp, "<MENU_PATH 
%s", menu_path);
                                                   menu->elements[1].element = 
strdup(temp);
-                                                   dumb_list_track(menu, 
menu_path);
-                                                   dumb_list_track(menu, 
menu->elements[1].element);
+                                                   dumb_tree_track(menu, 
menu_path);
+                                                   dumb_tree_track(menu, 
menu->elements[1].element);
                                                   result = 1;
                                                }
                                              else if (strcmp((char *) 
sub->elements[0].element, "<Directory") == 0)
@@ -263,8 +263,8 @@
                                                   directory = strdup((char *) 
sub->elements[1].element);
                                                   sprintf(temp, "<MENU <%.3s> 
<%s> <%s>", flags, name, directory);
                                                   menu->elements[0].element = 
strdup(temp);
-                                                   dumb_list_track(menu, 
directory);
-                                                   dumb_list_track(menu, 
menu->elements[0].element);
+                                                   dumb_tree_track(menu, 
directory);
+                                                   dumb_tree_track(menu, 
menu->elements[0].element);
                                                   flags = (char *) 
menu->elements[0].element;
                                                   flags += 7;
                                                   result = 1;
@@ -272,12 +272,12 @@
                                              else if ((strcmp((char *) 
sub->elements[0].element, "<Include") == 0) || 
                                                      (strcmp((char *) 
sub->elements[0].element, "<Exclude") == 0))
                                                {
-                                                   Dumb_List *new_sub;
+                                                   Dumb_Tree *new_sub;
 
-                                                   new_sub = 
dumb_list_new(NULL);
+                                                   new_sub = 
dumb_tree_new(NULL);
                                                   if (new_sub)
                                                      {
-                                                        
dumb_list_add_child(rules, new_sub);
+                                                        
dumb_tree_add_child(rules, new_sub);
                                                         
_fdo_menus_unxml_rules(new_sub, sub, ((char *) sub->elements[0].element)[1], 
'O');
                                                         result = 1;
                                                       }
@@ -285,10 +285,10 @@
                                              else if (strcmp((char *) 
sub->elements[0].element, "<Menu") == 0)
                                                {
                                                    _fdo_menus_unxml(data, sub, 
0, level + 1);
-                                                  dumb_list_add_child(menu, 
(Dumb_List *) sub->elements[0].element);
+                                                  dumb_tree_add_child(menu, 
(Dumb_Tree *) sub->elements[0].element);
                                                   /* FIXME: Dunno if this 
causes a memory leak, but for now we play it safe. */
-                                                   list->elements[i].type = 
DUMB_LIST_ELEMENT_TYPE_NULL;
-                                                   list->elements[i].element = 
NULL;
+                                                   tree->elements[i].type = 
DUMB_TREE_ELEMENT_TYPE_NULL;
+                                                   tree->elements[i].element = 
NULL;
 //                                                result = 1;
                                                }
                                              else if (strcmp((char *) 
sub->elements[0].element, "<Move") == 0)
@@ -298,19 +298,19 @@
                                                }
                                              else
                                                {
-                                                  if ((sub->size == 3) && 
(sub->elements[1].type == DUMB_LIST_ELEMENT_TYPE_STRING))
+                                                  if ((sub->size == 3) && 
(sub->elements[1].type == DUMB_TREE_ELEMENT_TYPE_STRING))
                                                      {
                                                         char temp[MAX_PATH];
 
                                                          sprintf(temp, "%s 
%s", (char *) sub->elements[0].element, (char *) sub->elements[1].element);
-                                                        dumb_list_extend(menu, 
temp);
+                                                        dumb_tree_extend(menu, 
temp);
                                                         result = 1;
                                                      }
                                                   else
                                                      {
-                                                        
dumb_list_add_child(menu, sub);
-                                                         
list->elements[i].type = DUMB_LIST_ELEMENT_TYPE_NULL;
-                                                         
list->elements[i].element = NULL;
+                                                        
dumb_tree_add_child(menu, sub);
+                                                         
tree->elements[i].type = DUMB_TREE_ELEMENT_TYPE_NULL;
+                                                         
tree->elements[i].element = NULL;
                                                      }
                                                }
                                           }
@@ -318,10 +318,10 @@
                              }
                           if (result)
                              {
-                                 if (list->elements[i].type == 
DUMB_LIST_ELEMENT_TYPE_LIST)
-                                    dumb_list_del((Dumb_List *) 
list->elements[i].element);
-                                 list->elements[i].type = 
DUMB_LIST_ELEMENT_TYPE_NULL;
-                                 list->elements[i].element = NULL;
+                                 if (tree->elements[i].type == 
DUMB_TREE_ELEMENT_TYPE_TREE)
+                                    dumb_tree_del((Dumb_Tree *) 
tree->elements[i].element);
+                                 tree->elements[i].type = 
DUMB_TREE_ELEMENT_TYPE_NULL;
+                                 tree->elements[i].element = NULL;
                              }
                        }
 
@@ -329,7 +329,7 @@
                        {
                           int result = 0;
 
-                           if (menu->elements[i].type == 
DUMB_LIST_ELEMENT_TYPE_STRING)
+                           if (menu->elements[i].type == 
DUMB_TREE_ELEMENT_TYPE_STRING)
                              {
                                 char *string;
 
@@ -337,17 +337,17 @@
                                  if (strncmp(string, "<DirectoryDir ", 14) == 
0)
                                    {
                                       char merge_path[MAX_PATH];
-                                      Dumb_List *merge;
+                                      Dumb_Tree *merge;
 
                                        if (string[14] == '/')
                                          sprintf(merge_path, "%s", 
&string[14]);
                                       else
                                          sprintf(merge_path, "%s%s", 
unxml_data->path, &string[14]);
-                                       merge = dumb_list_new(NULL);
+                                       merge = dumb_tree_new(NULL);
                                       if (merge)
                                          {
                                              
fdo_paths_recursive_search(merge_path, NULL, _fdo_menus_check_directory, merge);
-                                            dumb_list_insert_list(menu, i + 1, 
merge);
+                                            dumb_tree_insert_tree(menu, i + 1, 
merge);
                                          }
                                       result = 1;
                                    }
@@ -357,17 +357,17 @@
                                  else if (strncmp(string, "<MergeDir ", 10) == 
0)
                                    {
                                       char merge_path[MAX_PATH];
-                                      Dumb_List *merge;
+                                      Dumb_Tree *merge;
 
                                        if (string[10] == '/')
                                          sprintf(merge_path, "%s", 
&string[10]);
                                       else
                                          sprintf(merge_path, "%s%s", 
unxml_data->path, &string[10]);
-                                       merge = dumb_list_new(NULL);
+                                       merge = dumb_tree_new(NULL);
                                       if (merge)
                                          {
                                              
fdo_paths_recursive_search(merge_path, NULL, _fdo_menus_check_menu, merge);
-                                            dumb_list_insert_list(menu, i + 1, 
merge);
+                                            dumb_tree_insert_tree(menu, i + 1, 
merge);
                                          }
                                       result = 1;
                                    }
@@ -377,7 +377,7 @@
                              }
                           if (result)
                              {
-                                 menu->elements[i].type = 
DUMB_LIST_ELEMENT_TYPE_NULL;
+                                 menu->elements[i].type = 
DUMB_TREE_ELEMENT_TYPE_NULL;
                                  menu->elements[i].element = NULL;
                              }
                        }
@@ -386,7 +386,7 @@
                        {
                           int result = 0;
 
-                           if (menu->elements[i].type == 
DUMB_LIST_ELEMENT_TYPE_STRING)
+                           if (menu->elements[i].type == 
DUMB_TREE_ELEMENT_TYPE_STRING)
                              {
                                 char *string;
 
@@ -399,7 +399,7 @@
                              }
                           if (result)
                              {
-                                 menu->elements[i].type = 
DUMB_LIST_ELEMENT_TYPE_NULL;
+                                 menu->elements[i].type = 
DUMB_TREE_ELEMENT_TYPE_NULL;
                                  menu->elements[i].element = NULL;
                              }
                        }
@@ -408,16 +408,16 @@
                      /* Add it if it has not been deleted. */
                      if (flags[1] != 'D')
                        {
-                           list->elements[element].element = menu;
-                           list->elements[element].type = 
DUMB_LIST_ELEMENT_TYPE_LIST;
+                           tree->elements[element].element = menu;
+                           tree->elements[element].type = 
DUMB_TREE_ELEMENT_TYPE_TREE;
                        }
                  }
               else
                  {
                     if (apps)     ecore_hash_destroy(apps);
                     if (pool)     ecore_hash_destroy(pool);
-                    if (rules)    dumb_list_del(rules);
-                    if (menu)     dumb_list_del(menu);
+                    if (rules)    dumb_tree_del(rules);
+                    if (menu)     dumb_tree_del(menu);
                  }
            }
       }
@@ -428,9 +428,9 @@
 _fdo_menus_check_directory(const void *data, char *path)
 {
    char *p;
-   Dumb_List *merge;
+   Dumb_Tree *merge;
 
-   merge = (Dumb_List *) data;
+   merge = (Dumb_Tree *) data;
    p = strrchr(path, '.');
    if (p)
       {
@@ -439,7 +439,7 @@
               char merge_file[MAX_PATH];
 
                sprintf(merge_file, "<Directory %s", path);
-              dumb_list_extend(merge, merge_file);
+              dumb_tree_extend(merge, merge_file);
            }
       }
 
@@ -450,9 +450,9 @@
 _fdo_menus_check_menu(const void *data, char *path)
 {
    char *p;
-   Dumb_List *merge;
+   Dumb_Tree *merge;
 
-   merge = (Dumb_List *) data;
+   merge = (Dumb_Tree *) data;
    p = strrchr(path, '.');
    if (p)
       {
@@ -461,7 +461,7 @@
               char merge_file[MAX_PATH];
 
                sprintf(merge_file, "<MergeFile type=\"path\" %s", path);
-              dumb_list_extend(merge, merge_file);
+              dumb_tree_extend(merge, merge_file);
            }
       }
 
@@ -470,77 +470,77 @@
 
 
 static void
-_fdo_menus_unxml_rules(Dumb_List *rules, Dumb_List *list, char type, char 
sub_type)
+_fdo_menus_unxml_rules(Dumb_Tree *rules, Dumb_Tree *tree, char type, char 
sub_type)
 {
    int i;
    char temp[MAX_PATH];
 
-   for (i = 0; i < list->size; i++)
+   for (i = 0; i < tree->size; i++)
       {
-         if (list->elements[i].type == DUMB_LIST_ELEMENT_TYPE_STRING)
+         if (tree->elements[i].type == DUMB_TREE_ELEMENT_TYPE_STRING)
             {
-               if (strcmp((char *) list->elements[i].element, "<All/") == 0)
+               if (strcmp((char *) tree->elements[i].element, "<All/") == 0)
                  {
                     sprintf(temp, "%c%cA", type, sub_type);
-                    dumb_list_extend(rules, temp);
+                    dumb_tree_extend(rules, temp);
                  }
-               else if (strcmp((char *) list->elements[i].element, 
"<Filename") == 0)
+               else if (strcmp((char *) tree->elements[i].element, 
"<Filename") == 0)
                  {
-                    sprintf(temp, "%c%cF %s", type, sub_type, (char *) 
list->elements[i + 1].element);
-                    dumb_list_extend(rules, temp);
+                    sprintf(temp, "%c%cF %s", type, sub_type, (char *) 
tree->elements[i + 1].element);
+                    dumb_tree_extend(rules, temp);
                  }
-               else if (strcmp((char *) list->elements[i].element, 
"<Category") == 0)
+               else if (strcmp((char *) tree->elements[i].element, 
"<Category") == 0)
                  {
-                    sprintf(temp, "%c%cC %s", type, sub_type, (char *) 
list->elements[i + 1].element);
-                    dumb_list_extend(rules, temp);
+                    sprintf(temp, "%c%cC %s", type, sub_type, (char *) 
tree->elements[i + 1].element);
+                    dumb_tree_extend(rules, temp);
                  }
-               else if (strcmp((char *) list->elements[i].element, "<Or") == 0)
+               else if (strcmp((char *) tree->elements[i].element, "<Or") == 0)
                  {
-                     _fdo_menus_unxml_rules(rules, (Dumb_List *) 
list->elements[i + 1].element, type, sub_type);
+                     _fdo_menus_unxml_rules(rules, (Dumb_Tree *) 
tree->elements[i + 1].element, type, sub_type);
                  }
-               else if ((strcmp((char *) list->elements[i].element, "<And") == 
0) ||
-                        (strcmp((char *) list->elements[i].element, "<Not") == 
0))
+               else if ((strcmp((char *) tree->elements[i].element, "<And") == 
0) ||
+                        (strcmp((char *) tree->elements[i].element, "<Not") == 
0))
                  {
                     char this_type;
-                     Dumb_List *sub;
+                     Dumb_Tree *sub;
 
-                     this_type = ((char *) list->elements[i].element)[1];
-                     sub = dumb_list_new(NULL);
+                     this_type = ((char *) tree->elements[i].element)[1];
+                     sub = dumb_tree_new(NULL);
                     if (sub)
                        {
-                          dumb_list_add_child(rules, sub);
-                           for (i++; i < list->size; i++)
+                          dumb_tree_add_child(rules, sub);
+                           for (i++; i < tree->size; i++)
                               {
-                                 if (list->elements[i].type == 
DUMB_LIST_ELEMENT_TYPE_LIST)
-                                    _fdo_menus_unxml_rules(sub, (Dumb_List *) 
list->elements[i].element, type, this_type);
+                                 if (tree->elements[i].type == 
DUMB_TREE_ELEMENT_TYPE_TREE)
+                                    _fdo_menus_unxml_rules(sub, (Dumb_Tree *) 
tree->elements[i].element, type, this_type);
                              }
                        }
                  }
            }
-         else if (list->elements[i].type == DUMB_LIST_ELEMENT_TYPE_LIST)
+         else if (tree->elements[i].type == DUMB_TREE_ELEMENT_TYPE_TREE)
             {
-               _fdo_menus_unxml_rules(rules, (Dumb_List *) 
list->elements[i].element, type, sub_type);
+               _fdo_menus_unxml_rules(rules, (Dumb_Tree *) 
tree->elements[i].element, type, sub_type);
            }
       }
 }
 
 static void
-_fdo_menus_unxml_moves(Dumb_List *menu, Dumb_List *list)
+_fdo_menus_unxml_moves(Dumb_Tree *menu, Dumb_Tree *tree)
 {
    int i;
    char *old = NULL;
    char *new = NULL;
 
-   for (i = 0; i < list->size; i++)
+   for (i = 0; i < tree->size; i++)
       {
-         if (list->elements[i].type == DUMB_LIST_ELEMENT_TYPE_LIST)
+         if (tree->elements[i].type == DUMB_TREE_ELEMENT_TYPE_TREE)
             {
-               Dumb_List *sub;
+               Dumb_Tree *sub;
 
-               sub = (Dumb_List *) list->elements[i].element;
+               sub = (Dumb_Tree *) tree->elements[i].element;
               if ((sub) && (sub->size))
                  {
-                     if (sub->elements[0].type == 
DUMB_LIST_ELEMENT_TYPE_STRING)
+                     if (sub->elements[0].type == 
DUMB_TREE_ELEMENT_TYPE_STRING)
                        {
                            if (strcmp((char *) sub->elements[0].element, 
"<Old") == 0)
                              old = strdup((char *) sub->elements[1].element);
@@ -554,7 +554,7 @@
                char temp[MAX_PATH * 2];
 
                sprintf(temp, "<MOVE <%s> <%s>", old, new);
-              dumb_list_extend(menu, temp);
+              dumb_tree_extend(menu, temp);
               free(old);
                old = NULL;
               free(new);
@@ -564,7 +564,7 @@
 }
 
 static void
-_fdo_menus_add_dirs(Dumb_List *list, Dumb_List *paths, char *pre, char *post, 
char *extra, int element)
+_fdo_menus_add_dirs(Dumb_Tree *tree, Dumb_Tree *paths, char *pre, char *post, 
char *extra, int element)
 {
    int i;
    char t[MAX_PATH];
@@ -576,7 +576,7 @@
            sprintf(t, "%s %s%s-merged/", pre, (char *) 
paths->elements[i].element, extra);
          else
            sprintf(t, "%s %s", pre, (char *) paths->elements[i].element);
-         dumb_list_extend(list, t);
+         dumb_tree_extend(tree, t);
       }
 }
 
@@ -630,26 +630,26 @@
 
 
 static int
-_fdo_menus_generate(const void *data, Dumb_List *list, int element, int level)
+_fdo_menus_generate(const void *data, Dumb_Tree *tree, int element, int level)
 {
    struct _fdo_menus_unxml_data *unxml_data;
-   Dumb_List *menus;
+   Dumb_Tree *menus;
 
    unxml_data = (struct _fdo_menus_unxml_data *) data;
-   menus = (Dumb_List *) unxml_data->menus;
-   if (list->elements[element].type == DUMB_LIST_ELEMENT_TYPE_STRING)
+   menus = (Dumb_Tree *) unxml_data->menus;
+   if (tree->elements[element].type == DUMB_TREE_ELEMENT_TYPE_STRING)
       {
-         if (strncmp((char *) list->elements[element].element, "<MENU ", 6) == 
0)
+         if (strncmp((char *) tree->elements[element].element, "<MENU ", 6) == 
0)
            {
               int i;
               struct _fdo_menus_generate_data generate_data;
 
                generate_data.unallocated = unxml_data->unallocated;
-               generate_data.name = (char *) list->elements[element].element;
-               generate_data.path = (char *) list->elements[element + 
1].element;
-               generate_data.pool  = (Ecore_Hash *) list->elements[element + 
2].element;
-               generate_data.rules = (Dumb_List *) list->elements[element + 
3].element;
-               generate_data.apps  = (Ecore_Hash *) list->elements[element + 
4].element;
+               generate_data.name = (char *) tree->elements[element].element;
+               generate_data.path = (char *) tree->elements[element + 
1].element;
+               generate_data.pool  = (Ecore_Hash *) tree->elements[element + 
2].element;
+               generate_data.rules = (Dumb_Tree *) tree->elements[element + 
3].element;
+               generate_data.apps  = (Ecore_Hash *) tree->elements[element + 
4].element;
 
                /* Inherit the pools on the first pass. */
               if (!generate_data.unallocated)
@@ -657,17 +657,17 @@
                     if (unxml_data->stack->size <= level)
                        {
                           while (unxml_data->stack->size < level)
-                             dumb_list_add_hash(unxml_data->stack, 
generate_data.pool);
-                          dumb_list_add_hash(unxml_data->stack, 
generate_data.pool);
+                             dumb_tree_add_hash(unxml_data->stack, 
generate_data.pool);
+                          dumb_tree_add_hash(unxml_data->stack, 
generate_data.pool);
                        }
                     else
                        {
-                           unxml_data->stack->elements[level].type = 
DUMB_LIST_ELEMENT_TYPE_HASH;
+                           unxml_data->stack->elements[level].type = 
DUMB_TREE_ELEMENT_TYPE_HASH;
                            unxml_data->stack->elements[level].element = 
generate_data.pool;
                        }
                      for (i = level - 1; i >= 0; i--)
                         {
-                           if (unxml_data->stack->elements[i].type == 
DUMB_LIST_ELEMENT_TYPE_HASH)
+                           if (unxml_data->stack->elements[i].type == 
DUMB_TREE_ELEMENT_TYPE_HASH)
                              {
                                 Ecore_Hash *ancestor;
 
@@ -683,9 +683,9 @@
                      printf("MAKING MENU - %s \t\t%s\n", generate_data.path, 
generate_data.name);
                      for (i = 0; i < generate_data.rules->size; i++)
                         {
-                           if (generate_data.rules->elements[i].type == 
DUMB_LIST_ELEMENT_TYPE_LIST)
+                           if (generate_data.rules->elements[i].type == 
DUMB_TREE_ELEMENT_TYPE_TREE)
                              {
-                                 generate_data.rule = (Dumb_List *) 
generate_data.rules->elements[i].element;
+                                 generate_data.rule = (Dumb_Tree *) 
generate_data.rules->elements[i].element;
                                 if (generate_data.rule->size > 0)
                                    {
                                       if ( ((char *) 
generate_data.rule->elements[0].element)[0] == 'I' )
@@ -759,7 +759,7 @@
 }
 
 static int
-_fdo_menus_apply_rules(struct _fdo_menus_generate_data *generate_data, 
Dumb_List *rule, char *key, Desktop *desktop)
+_fdo_menus_apply_rules(struct _fdo_menus_generate_data *generate_data, 
Dumb_Tree *rule, char *key, Desktop *desktop)
 {
    char type = 'O';
    int result = FALSE;
@@ -767,9 +767,9 @@
 
    for (i = 0; i < rule->size; i++)
       {
-         if (rule->elements[i].type == DUMB_LIST_ELEMENT_TYPE_LIST)
+         if (rule->elements[i].type == DUMB_TREE_ELEMENT_TYPE_TREE)
            {
-               result = _fdo_menus_apply_rules(generate_data, (Dumb_List *) 
rule->elements[i].element, key, desktop);
+               result = _fdo_menus_apply_rules(generate_data, (Dumb_Tree *) 
rule->elements[i].element, key, desktop);
            }
         else
            {
@@ -929,24 +929,24 @@
 *                 leave it as allocated.
 
 
-<Menu (list)
+<Menu (tree)
   name
   flags = "   " or "MDO" the first letter of - Marked, Deleted, 
OnlyUnallocated 
   pool (hash)
     id = path
     id = path
-  rules (list)
+  rules (tree)
     rule
     rule
   menu (hash)
     id = path
     id = path
-  <Menu (list)
-  <Menu (list)
+  <Menu (tree)
+  <Menu (tree)
 
-rules (list)
+rules (tree)
   include/exclude or all/file/category x
-  and/not (list)
+  and/not (tree)
     include/exclude and/not all/file/category x
 
 
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/fdo_menus.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- fdo_menus.h 9 Feb 2006 09:34:11 -0000       1.1
+++ fdo_menus.h 22 Feb 2006 04:15:44 -0000      1.2
@@ -1,14 +1,14 @@
 #ifndef _FDO_MENUS_H
 # define _FDO_MENUS_H
 
-#include "dumb_list.h"
+#include "dumb_tree.h"
 
 # ifdef __cplusplus
 extern "C"
 {
 # endif
 
-   Dumb_List *fdo_menus_get(char *file, Dumb_List *xml);
+   Dumb_Tree *fdo_menus_get(char *file, Dumb_Tree *xml);
 
 # ifdef __cplusplus
 }
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/fdo_paths.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- fdo_paths.c 20 Feb 2006 04:09:29 -0000      1.16
+++ fdo_paths.c 22 Feb 2006 04:15:44 -0000      1.17
@@ -19,17 +19,17 @@
 struct _config_exe_data
 {
    char *home;
-   Dumb_List *types;
+   Dumb_Tree *types;
    int done;
 };
 
-static Dumb_List *_fdo_paths_get(char *before, char *env_home, char *env,
+static Dumb_Tree *_fdo_paths_get(char *before, char *env_home, char *env,
                                 char *env_home_default, char *env_default,
                                 char *type, char *gnome_extra, char *kde);
 static void _fdo_paths_massage_path(char *path, char *home, char *first,
                                     char *second);
-static void _fdo_paths_check_and_add(Dumb_List * paths, char *path);
-static void _fdo_paths_exec_config(char *home, Dumb_List * extras,
+static void _fdo_paths_check_and_add(Dumb_Tree * paths, char *path);
+static void _fdo_paths_exec_config(char *home, Dumb_Tree * extras,
                                    char *cmd);
 
 static int _fdo_paths_cb_exe_exit(void *data, int type, void *event);
@@ -74,10 +74,10 @@
 void
 fdo_paths_shutdown()
 {
-   E_FN_DEL(dumb_list_del, fdo_paths_menus);
-   E_FN_DEL(dumb_list_del, fdo_paths_directories);
-   E_FN_DEL(dumb_list_del, fdo_paths_desktops);
-   E_FN_DEL(dumb_list_del, fdo_paths_icons);
+   E_FN_DEL(dumb_tree_del, fdo_paths_menus);
+   E_FN_DEL(dumb_tree_del, fdo_paths_directories);
+   E_FN_DEL(dumb_tree_del, fdo_paths_desktops);
+   E_FN_DEL(dumb_tree_del, fdo_paths_icons);
 }
 
 /** Search for a file in fdo compatible locations.
@@ -102,7 +102,7 @@
    char *path = NULL;
    char temp[MAX_PATH];
    struct stat path_stat;
-   Dumb_List *paths = NULL;
+   Dumb_Tree *paths = NULL;
 
    switch (type)
      {
@@ -149,23 +149,23 @@
 */
 
 
-static Dumb_List *
+static Dumb_Tree *
 _fdo_paths_get(char *before, char *env_home, char *env, char *env_home_default,
                char *env_default, char *type, char *gnome_extra, char *kde)
 {
    char *home;
-   Dumb_List *paths = NULL;
-   Dumb_List *types;
-   Dumb_List *gnome_extras;
-   Dumb_List *kdes;
+   Dumb_Tree *paths = NULL;
+   Dumb_Tree *types;
+   Dumb_Tree *gnome_extras;
+   Dumb_Tree *kdes;
    Ecore_Event_Handler *exit_handler;
 
    /* Don't sort them, as they are in preferred order from each source. */
    /* Merge the results, there are probably some duplicates. */
 
-   types = dumb_list_from_paths(type);
-   gnome_extras = dumb_list_from_paths(gnome_extra);
-   kdes = dumb_list_from_paths(kde);
+   types = dumb_tree_from_paths(type);
+   gnome_extras = dumb_tree_from_paths(gnome_extra);
+   kdes = dumb_tree_from_paths(kde);
 
    home = get_home();
    if (home)
@@ -178,18 +178,18 @@
            home[last] = '\0';
      }
 
-   paths = dumb_list_new(NULL);
+   paths = dumb_tree_new(NULL);
    if (paths)
      {
         int i, j;
         char path[MAX_PATH];
-        Dumb_List *env_list;
+        Dumb_Tree *env_list;
 
         if (before)
           {
-             Dumb_List *befores;
+             Dumb_Tree *befores;
 
-             befores = dumb_list_from_paths(before);
+             befores = dumb_tree_from_paths(before);
              if (befores)
                {
                   for (i = 0; i < befores->size; i++)
@@ -198,7 +198,7 @@
                                                befores->elements[i].element, 
NULL);
                        _fdo_paths_check_and_add(paths, path);
                     }
-                  E_FN_DEL(dumb_list_del, befores);
+                  E_FN_DEL(dumb_tree_del, befores);
                }
           }
 
@@ -209,7 +209,7 @@
              value = getenv(env_home);
              if ((value == NULL) || (value[0] == '\0'))
                 value = env_home_default;
-             env_list = dumb_list_from_paths(value);
+             env_list = dumb_tree_from_paths(value);
              if (env_list)
                {
                   for (i = 0; i < env_list->size; i++)
@@ -222,7 +222,7 @@
                             _fdo_paths_check_and_add(paths, path);
                          }
                     }
-                  E_FN_DEL(dumb_list_del, env_list);
+                  E_FN_DEL(dumb_tree_del, env_list);
                }
           }
 
@@ -233,7 +233,7 @@
              value = getenv(env);
              if ((value == NULL) || (value[0] == '\0'))
                 value = env_default;
-             env_list = dumb_list_from_paths(value);
+             env_list = dumb_tree_from_paths(value);
              if (env_list)
                {
                   for (i = 0; i < env_list->size; i++)
@@ -246,7 +246,7 @@
                             _fdo_paths_check_and_add(paths, path);
                          }
                     }
-                  E_FN_DEL(dumb_list_del, env_list);
+                  E_FN_DEL(dumb_tree_del, env_list);
                }
           }
      }
@@ -280,9 +280,9 @@
      }
 
    E_FREE(home);
-   E_FN_DEL(dumb_list_del, kdes);
-   E_FN_DEL(dumb_list_del, gnome_extras);
-   E_FN_DEL(dumb_list_del, types);
+   E_FN_DEL(dumb_tree_del, kdes);
+   E_FN_DEL(dumb_tree_del, gnome_extras);
+   E_FN_DEL(dumb_tree_del, types);
 
    return paths;
 }
@@ -323,12 +323,12 @@
 }
 
 static void
-_fdo_paths_check_and_add(Dumb_List * paths, char *path)
+_fdo_paths_check_and_add(Dumb_Tree * paths, char *path)
 {
 #ifdef DEBUG
    printf("CHECKING %s", path);
 #endif
-   if (!dumb_list_exist(paths, path))
+   if (!dumb_tree_exist(paths, path))
      {
         struct stat path_stat;
 
@@ -338,7 +338,7 @@
 #ifdef DEBUG
              printf(" OK");
 #endif
-             dumb_list_extend(paths, path);
+             dumb_tree_extend(paths, path);
           }
      }
 #ifdef DEBUG
@@ -347,7 +347,7 @@
 }
 
 static void
-_fdo_paths_exec_config(char *home, Dumb_List *extras, char *cmd)
+_fdo_paths_exec_config(char *home, Dumb_Tree *extras, char *cmd)
 {
    Ecore_Exe *exe;
    struct _config_exe_data ced;
@@ -439,8 +439,8 @@
 _fdo_paths_cb_exe_exit(void *data, int type, void *event)
 {
    Ecore_Exe_Event_Del *ev;
-   Dumb_List *paths;
-   Dumb_List *config_list;
+   Dumb_Tree *paths;
+   Dumb_Tree *config_list;
    Ecore_Exe_Event_Data *read;
    struct _config_exe_data *ced;
    char *value;
@@ -465,7 +465,7 @@
          value = read->lines[0].line;
          if (value)
             {
-               config_list = dumb_list_from_paths(value);
+               config_list = dumb_tree_from_paths(value);
                if (config_list)
                   {
                      int i, j;
@@ -489,7 +489,7 @@
                                  _fdo_paths_check_and_add(paths, path);
                               }
                         }
-                     E_FN_DEL(dumb_list_del, config_list);
+                     E_FN_DEL(dumb_tree_del, config_list);
                   }
             }
       }
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/fdo_paths.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- fdo_paths.h 17 Feb 2006 06:57:19 -0000      1.10
+++ fdo_paths.h 22 Feb 2006 04:15:44 -0000      1.11
@@ -1,7 +1,7 @@
 #ifndef _FDO_PATHS_H
 # define _FDO_PATHS_H
 
-#include "dumb_list.h"
+#include "dumb_tree.h"
 
 enum _Fdo_Paths_Type
 {
@@ -13,11 +13,11 @@
 };
 typedef enum _Fdo_Paths_Type Fdo_Paths_Type;
 
-Dumb_List *fdo_paths_menus;
-Dumb_List *fdo_paths_directories;
-Dumb_List *fdo_paths_desktops;
-Dumb_List *fdo_paths_icons;
-Dumb_List *fdo_paths_kde_legacy;
+Dumb_Tree *fdo_paths_menus;
+Dumb_Tree *fdo_paths_directories;
+Dumb_Tree *fdo_paths_desktops;
+Dumb_Tree *fdo_paths_icons;
+Dumb_Tree *fdo_paths_kde_legacy;
 
 # ifdef __cplusplus
 extern "C"
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/icons.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- icons.c     19 Feb 2006 08:13:49 -0000      1.19
+++ icons.c     22 Feb 2006 04:15:44 -0000      1.20
@@ -187,13 +187,13 @@
                      inherits = (char *) ecore_hash_get(icon_group, 
"Inherits");
                     if (directories)
                        {
-                           Dumb_List *directory_paths;
+                           Dumb_Tree *directory_paths;
 
                            /* Split the directory list. */
 #ifdef DEBUG
                            printf("Inherits %s Directories %s\n", inherits, 
directories);
 #endif
-                           directory_paths = dumb_list_from_paths(directories);
+                           directory_paths = dumb_tree_from_paths(directories);
                           if (directory_paths)
                              {
                                 int wanted_size;
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/main.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -3 -r1.27 -r1.28
--- main.c      19 Feb 2006 09:11:11 -0000      1.27
+++ main.c      22 Feb 2006 04:15:44 -0000      1.28
@@ -57,13 +57,13 @@
          char *directory = "Applications.directory";
          char *desktop = "xterm.desktop";
          char *icon = "tux.png";
-        Dumb_List *menu_xml = NULL;
+        Dumb_Tree *menu_xml = NULL;
 
          printf("\n\nPath to %s is %s\n", menu, path);
          menu_xml = xmlame_get(path);;
         if (menu_xml)
            {
-              Dumb_List *menus = NULL;
+              Dumb_Tree *menus = NULL;
 
               /* convert the xml into menus */
               menus = fdo_menus_get(path, menu_xml);
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/menus.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- menus.c     19 Feb 2006 08:13:49 -0000      1.11
+++ menus.c     22 Feb 2006 04:15:44 -0000      1.12
@@ -10,7 +10,7 @@
 extern int menu_count, item_count;
 
 
-static int _menu_make_apps(const void *data, Dumb_List *list, int element, int 
level);
+static int _menu_make_apps(const void *data, Dumb_Tree *tree, int element, int 
level);
 static void _menu_dump_each_hash_node(void *value, void *user_data);
 
 
@@ -29,13 +29,13 @@
          if (menu_file)
             {
               char *path;
-              Dumb_List *menu_xml = NULL;
+              Dumb_Tree *menu_xml = NULL;
 
                path = ecore_file_get_dir(menu_file);
                menu_xml = xmlame_get(menu_file);;
               if ((menu_xml) && (path))
                  {
-                    Dumb_List *menus = NULL;
+                    Dumb_Tree *menus = NULL;
 
                     /* convert the xml into menus */
                     menus = fdo_menus_get(menu_file, menu_xml);
@@ -43,7 +43,7 @@
                     if (menus)
                        {
                           /* create the .eap and order files from the menu */
-                           dumb_list_foreach(menu_xml, 0, _menu_make_apps, 
path);
+                           dumb_tree_foreach(menu_xml, 0, _menu_make_apps, 
path);
                        }
                  }
                E_FREE(path);
@@ -142,19 +142,19 @@
 }
 
 static int
-_menu_make_apps(const void *data, Dumb_List *list, int element, int level)
+_menu_make_apps(const void *data, Dumb_Tree *tree, int element, int level)
 {
-   if (list->elements[element].type == DUMB_LIST_ELEMENT_TYPE_STRING)
+   if (tree->elements[element].type == DUMB_TREE_ELEMENT_TYPE_STRING)
       {
-         if (strncmp((char *) list->elements[element].element, "<MENU ", 6) == 
0)
+         if (strncmp((char *) tree->elements[element].element, "<MENU ", 6) == 
0)
            {
                char *name, *path;
                Ecore_Hash *pool, *apps;
 
-               name = (char *) list->elements[element].element;
-               path = (char *) list->elements[element + 1].element;
-               pool  = (Ecore_Hash *) list->elements[element + 2].element;
-               apps  = (Ecore_Hash *) list->elements[element + 4].element;
+               name = (char *) tree->elements[element].element;
+               path = (char *) tree->elements[element + 1].element;
+               pool  = (Ecore_Hash *) tree->elements[element + 2].element;
+               apps  = (Ecore_Hash *) tree->elements[element + 4].element;
                printf("MAKING MENU - %s \t\t%s\n", path, name);
               menu_count++;
                ecore_hash_for_each_node(apps, _menu_dump_each_hash_node, 
&path[11]);
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/parse.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- parse.c     20 Feb 2006 05:21:55 -0000      1.18
+++ parse.c     22 Feb 2006 04:15:44 -0000      1.19
@@ -526,13 +526,13 @@
 
                            temp = (char *) ecore_hash_get(result->group, 
"Categories");
                           if (temp)
-                              result->Categories = dumb_list_from_paths(temp);
+                              result->Categories = dumb_tree_from_paths(temp);
                            temp = (char *) ecore_hash_get(result->group, 
"OnlyShowIn");
                           if (temp)
-                              result->OnlyShowIn = dumb_list_from_paths(temp);
+                              result->OnlyShowIn = dumb_tree_from_paths(temp);
                            temp = (char *) ecore_hash_get(result->group, 
"NotShowIn");
                           if (temp)
-                              result->NotShowIn = dumb_list_from_paths(temp);
+                              result->NotShowIn = dumb_tree_from_paths(temp);
                        }
                      ecore_hash_set(desktop_cache, strdup(file), result);
                  }
@@ -548,9 +548,9 @@
 
 static void _parse_desktop_del(Desktop *desktop)
 {
-   if (desktop->NotShowIn)    dumb_list_del(desktop->NotShowIn);
-   if (desktop->OnlyShowIn)   dumb_list_del(desktop->OnlyShowIn);
-   if (desktop->Categories)   dumb_list_del(desktop->Categories);
+   if (desktop->NotShowIn)    dumb_tree_del(desktop->NotShowIn);
+   if (desktop->OnlyShowIn)   dumb_tree_del(desktop->OnlyShowIn);
+   if (desktop->Categories)   dumb_tree_del(desktop->Categories);
    free(desktop);
 }
 
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/parse.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- parse.h     19 Feb 2006 07:28:13 -0000      1.6
+++ parse.h     22 Feb 2006 04:15:44 -0000      1.7
@@ -5,14 +5,14 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include <Ecore_Data.h>
-#include "dumb_list.h"
+#include "dumb_tree.h"
 
 
 typedef struct _Desktop Desktop;
 struct _Desktop
 {
    Ecore_Hash *data, *group;
-   Dumb_List *Categories, *OnlyShowIn, *NotShowIn;  /* FIXME: Better to have 
these as hashes. */
+   Dumb_Tree *Categories, *OnlyShowIn, *NotShowIn;  /* FIXME: Better to have 
these as hashes. */
    int NoDisplay, Hidden, allocated;
 };
 
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/xmlame.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- xmlame.c    19 Feb 2006 13:20:52 -0000      1.5
+++ xmlame.c    22 Feb 2006 04:15:44 -0000      1.6
@@ -27,24 +27,24 @@
  * The final '>' of a tag is replaced with a '\0', but it's existance can be 
implied.
  */
 
-static char *_xmlame_parse(Dumb_List *list, char *buffer);
+static char *_xmlame_parse(Dumb_Tree *tree, char *buffer);
 
 
-Dumb_List *
+Dumb_Tree *
 xmlame_new(char *buffer)
 {
-   Dumb_List *list;
+   Dumb_Tree *tree;
 
-   list = dumb_list_new(buffer);
-   return list;
+   tree = dumb_tree_new(buffer);
+   return tree;
 }
 
-Dumb_List *
+Dumb_Tree *
 xmlame_get(char *file)
 {
    int size;
    char *buffer;
-   Dumb_List *list = NULL;
+   Dumb_Tree *tree = NULL;
 
    size = ecore_file_size(file);
    buffer = (char *) malloc(size + 1);
@@ -59,19 +59,19 @@
               if (read(fd, buffer, size) == size)
                     buffer[size] = '\0';
            }
-         list = xmlame_new(buffer);
-        if (list)
+         tree = xmlame_new(buffer);
+        if (tree)
            {
-              /* Have the file name as the first item on the list, for later 
reference. */
-              dumb_list_extend(list, file);
-              _xmlame_parse(list, buffer);
+              /* Have the file name as the first item on the tree, for later 
reference. */
+              dumb_tree_extend(tree, file);
+              _xmlame_parse(tree, buffer);
            }
       }
-   return list;
+   return tree;
 }
 
 static char *
-_xmlame_parse(Dumb_List *list, char *buffer)
+_xmlame_parse(Dumb_Tree *tree, char *buffer)
 {
    do
       {
@@ -91,7 +91,7 @@
 
                t = *buffer;
               *buffer = '\0';
-              dumb_list_extend(list, strdup(text));
+              dumb_tree_extend(tree, strdup(text));
               *buffer = t;
            }
          if (*buffer != '\0')
@@ -108,23 +108,23 @@
                      *buffer++ = '\0';
                     if (begin[1] == '/')
                        {   /* The end of an element. */
-                          dumb_list_add(list, begin);
+                          dumb_tree_add(tree, begin);
                            break;
                        }
                      else if ((begin[1] == '!') || (begin[1] == '-') || 
(*(buffer - 2) == '/'))
                        {   /* This is a script, a comment, or a stand alone 
tag. */
-                          dumb_list_add(list, begin);
+                          dumb_tree_add(tree, begin);
                        }
                     else
                        {   /* The beginning of an element. */
-                           Dumb_List *new_list;
+                           Dumb_Tree *new_tree;
 
-                           new_list = xmlame_new(NULL);
-                          if (new_list)
+                           new_tree = xmlame_new(NULL);
+                          if (new_tree)
                              {
-                                dumb_list_add_child(list, new_list);
-                                dumb_list_add(new_list, begin);
-                                buffer = _xmlame_parse(new_list, buffer);
+                                dumb_tree_add_child(tree, new_tree);
+                                dumb_tree_add(new_tree, begin);
+                                buffer = _xmlame_parse(new_tree, buffer);
                              }
                        }
                  }
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/xmlame.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- xmlame.h    8 Feb 2006 23:13:30 -0000       1.3
+++ xmlame.h    22 Feb 2006 04:15:44 -0000      1.4
@@ -1,9 +1,9 @@
 #ifndef _XMLAME_H
 # define _XMLAME_H
 
-#include "dumb_list.h"
+#include "dumb_tree.h"
 
-Dumb_List *xmlame_new(char *buffer);
-Dumb_List *xmlame_get(char *file);
+Dumb_Tree *xmlame_new(char *buffer);
+Dumb_Tree *xmlame_get(char *file);
 
 #endif




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to