Enlightenment CVS committal Author : onefang Project : e17 Module : apps/e_utils
Dir : e17/apps/e_utils/src/bin/e17genmenu/src/bin Modified Files: dumb_tree.c fdo_menus.c fdo_menus.h Log Message: Formatting. The .indent.pro file used here is the one that resulted from the peace treaty signed by devilhorns and KainX. With the permission of devilhorns, I doubled the line length. 80 characters is just too small. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/dumb_tree.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- dumb_tree.c 22 Feb 2006 20:25:14 -0000 1.4 +++ dumb_tree.c 1 Mar 2006 05:16:41 -0000 1.5 @@ -143,25 +143,25 @@ size = element->size; if (size) - { - tree->elements = (Dumb_Tree_Element *) realloc(tree->elements, (tree->size + size) * sizeof(Dumb_Tree_Element)); - tree->size += size; - for (i = tree->size - 1; i > before; i--) - { - tree->elements[i].element = tree->elements[i - size].element; - tree->elements[i].type = tree->elements[i - size].type; - } - for (i = 0; i < size; i++) - { - tree->elements[before + i].element = element->elements[i].element; - tree->elements[before + i].type = element->elements[i].type; - } - } + { + tree->elements = (Dumb_Tree_Element *) realloc(tree->elements, (tree->size + size) * sizeof(Dumb_Tree_Element)); + tree->size += size; + for (i = tree->size - 1; i > before; i--) + { + tree->elements[i].element = tree->elements[i - size].element; + tree->elements[i].type = tree->elements[i - size].type; + } + for (i = 0; i < size; i++) + { + tree->elements[before + i].element = element->elements[i].element; + tree->elements[before + i].type = element->elements[i].type; + } + } /* Careful, this might screw up the freeing order if that is important. */ size = element->buffers_size; if (size) - { + { /* tree->buffers = (char **) realloc(tree->buffers, (tree->buffers_size + size) * sizeof(char *)); tree->buffers_size += size; @@ -171,7 +171,7 @@ element->buffers[i] = NULL; } */ - } + } return tree; } @@ -198,13 +198,12 @@ dumb_tree_remove(Dumb_Tree * tree, int element) { if (tree->size > element) - { - tree->elements[element].type = DUMB_TREE_ELEMENT_TYPE_NULL; - tree->elements[element].element = NULL; - } + { + tree->elements[element].type = DUMB_TREE_ELEMENT_TYPE_NULL; + tree->elements[element].element = NULL; + } } - int dumb_tree_exist(Dumb_Tree * tree, char *element) { =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/fdo_menus.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- fdo_menus.c 22 Feb 2006 20:25:14 -0000 1.20 +++ fdo_menus.c 1 Mar 2006 05:16:41 -0000 1.21 @@ -24,7 +24,6 @@ extern double convert_time; - struct _fdo_menus_expand_apps_data { char *path; @@ -70,9 +69,9 @@ static int _fdo_menus_apply_rules(struct _fdo_menus_generate_data *generate_data, Dumb_Tree * rule, char *key, Desktop * desktop); Dumb_Tree * -fdo_menus_get(char *file, Dumb_Tree *merge_stack, int level) +fdo_menus_get(char *file, Dumb_Tree * merge_stack, int level) { - Dumb_Tree * menu_xml; + Dumb_Tree *menu_xml; struct _fdo_menus_unxml_data data; double begin; int oops = 0; @@ -96,9 +95,9 @@ /* Setup the merge stack. */ if (merge_stack->size <= level) { - while (merge_stack->size < level) - dumb_tree_add(merge_stack, ""); - dumb_tree_add(merge_stack, file); + while (merge_stack->size < level) + dumb_tree_add(merge_stack, ""); + dumb_tree_add(merge_stack, file); } else merge_stack->elements[level].element = file; @@ -110,40 +109,40 @@ /* I can safely assume that they are all strings. */ text = (char *)merge_stack->elements[i].element; - if (strcmp(text, file) == 0) - { - fprintf(stderr, "\n### Oops, infinite menu merging loop detected at %s\n", file); - oops++; - } - } + if (strcmp(text, file) == 0) + { + fprintf(stderr, "\n### Oops, infinite menu merging loop detected at %s\n", file); + oops++; + } + } if (oops == 0) - { - /* Get on with it. */ - dumb_tree_foreach(menu_xml, 0, _fdo_menus_unxml, &data); - dumb_tree_foreach(menu_xml, 0, _fdo_menus_merge, &data); - - /* The rest of this is only done after ALL the menus have been merged. */ - if (level == 0) - { - dumb_tree_foreach(menu_xml, 0, _fdo_menus_expand_default_dirs, &data); - - convert_time += ecore_time_get() - begin; - dumb_tree_dump(menu_xml, 0); - printf("\n\n"); - begin = ecore_time_get(); - - data.unallocated = FALSE; - dumb_tree_foreach(menu_xml, 0, _fdo_menus_generate, &data); - data.unallocated = TRUE; - dumb_tree_foreach(menu_xml, 0, _fdo_menus_generate, &data); - - convert_time += ecore_time_get() - begin; - dumb_tree_dump(menu_xml, 0); - printf("\n\n"); - begin = ecore_time_get(); - } - } + { + /* Get on with it. */ + dumb_tree_foreach(menu_xml, 0, _fdo_menus_unxml, &data); + dumb_tree_foreach(menu_xml, 0, _fdo_menus_merge, &data); + + /* The rest of this is only done after ALL the menus have been merged. */ + if (level == 0) + { + dumb_tree_foreach(menu_xml, 0, _fdo_menus_expand_default_dirs, &data); + + convert_time += ecore_time_get() - begin; + dumb_tree_dump(menu_xml, 0); + printf("\n\n"); + begin = ecore_time_get(); + + data.unallocated = FALSE; + dumb_tree_foreach(menu_xml, 0, _fdo_menus_generate, &data); + data.unallocated = TRUE; + dumb_tree_foreach(menu_xml, 0, _fdo_menus_generate, &data); + + convert_time += ecore_time_get() - begin; + dumb_tree_dump(menu_xml, 0); + printf("\n\n"); + begin = ecore_time_get(); + } + } } else oops++; @@ -152,9 +151,9 @@ { E_FN_DEL(dumb_tree_del, (menu_xml)); if (level == 0) - { - E_FN_DEL(dumb_tree_del, (merge_stack)); - } + { + E_FN_DEL(dumb_tree_del, (merge_stack)); + } E_FREE(data.path); E_FREE(data.base); E_FN_DEL(dumb_tree_del, (data.stack)); @@ -299,7 +298,7 @@ dumb_tree_track(menu, menu->elements[1].element); result = 1; } - /* FIXME: Move this to later in the sequence. */ + /* FIXME: Move this to later in the sequence. */ else if (strcmp((char *)sub->elements[0].element, "<Directory") == 0) { directory = strdup((char *)sub->elements[1].element); @@ -327,7 +326,8 @@ } else { - if ( (sub->size == 3) && (sub->elements[1].type == DUMB_TREE_ELEMENT_TYPE_STRING) && (((char *)sub->elements[1].element)[0] != '<' ) ) + if ((sub->size == 3) && (sub->elements[1].type == DUMB_TREE_ELEMENT_TYPE_STRING) + && (((char *)sub->elements[1].element)[0] != '<')) { char temp[MAX_PATH]; @@ -527,7 +527,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); - if (tree) + if (tree) dumb_tree_extend(tree, t); } } @@ -586,7 +586,7 @@ struct _fdo_menus_unxml_data *unxml_data; Dumb_Tree *merge; int result = 0; - + unxml_data = (struct _fdo_menus_unxml_data *)data; merge = dumb_tree_new(NULL); if (tree->elements[element].type == DUMB_TREE_ELEMENT_TYPE_STRING) @@ -622,96 +622,96 @@ else if (strncmp(string, "<MergeFile ", 11) == 0) { char merge_path[MAX_PATH]; - int path_type = 1; + int path_type = 1; /* FIXME: need to weed out duplicate <MergeFile's, use the last one. */ - string += 11; + string += 11; if (strncmp(string, "type=\"", 6) == 0) - { - string += 6; - if (strncmp(string, "parent\"", 7) == 0) - path_type = 0; - while ((*string != '"') && (*string != '\0')) - string++; - if (*string != '\0') - string++; - while ((*string == ' ') && (*string != '\0')) - string++; - } - if (path_type) - { - if (string[0] == '/') - sprintf(merge_path, "%s", string); - else - sprintf(merge_path, "%s/%s", unxml_data->path, string); - } - else /* This is a parent type MergeFile. */ - { - /* The spec is a little unclear, and the examples may look like they - * contradict the description, but it all makes sense if you cross - * reference it with the XDG Base Directory Specification (version 0.6). - * To make things harder, parent type MergeFiles never appear on my box. - * - * What you do is this. - * - * Take the XDG_CONFIG_DIRS stuff as a whole ($XDG_CONFIG_HOME, then - * $XDG_CONFIG_DIRS), in this code that will be fdo_paths_config. - * - * If this menu file is from one of the directories in fdo_paths_config, - * scan the rest of fdo_paths_config looking for the new menu. In other - * words start searching in the next fdo_paths_config entry after the one - * that this menu is in. - * - * The file to look for is the path to this menu with the portion from - * fdo_paths_config stripped off the beginning. For instance, the top level - * menu file is typically /etc/xdg/menus/applications.menu, and /etc/xdg is - * typically in fdo_paths_config, so search for menus/applications.menu. - * - * If this menu file is NOT from one of the directories in fdo_paths_menus, - * insert nothing. - * - * The first one found wins, if none are found, don't merge anything. - */ - - /* FIXME: Actually implement this when I have some menus that will exercise it. */ - merge_path[0] = '\0'; - printf("\n### Didn't expect a MergeFile parent type\n"); - } - if (merge_path[0] != '\0') - { - Dumb_Tree *new_menu; - - new_menu = fdo_menus_get(merge_path, unxml_data->merge_stack, level + 1); - if (new_menu) - { - if (new_menu->size > 1) - { - if (new_menu->elements[1].type == DUMB_TREE_ELEMENT_TYPE_TREE) - { - new_menu = (Dumb_Tree *)new_menu->elements[1].element; - if (new_menu->size > 0) - { - if (new_menu->elements[0].type == DUMB_TREE_ELEMENT_TYPE_TREE) - { - merge = (Dumb_Tree *)new_menu->elements[0].element; - dumb_tree_remove(merge, 0); - dumb_tree_remove(merge, 1); - dumb_tree_remove(merge, 2); - dumb_tree_remove(merge, 3); - dumb_tree_remove(merge, 4); - /* FIXME: The MENU_PATHs need to be prefixed. */ - } - else - printf("FUCK an error in _fdo_menus_merge(%s)\n", merge_path); + { + string += 6; + if (strncmp(string, "parent\"", 7) == 0) + path_type = 0; + while ((*string != '"') && (*string != '\0')) + string++; + if (*string != '\0') + string++; + while ((*string == ' ') && (*string != '\0')) + string++; + } + if (path_type) + { + if (string[0] == '/') + sprintf(merge_path, "%s", string); + else + sprintf(merge_path, "%s/%s", unxml_data->path, string); + } + else /* This is a parent type MergeFile. */ + { + /* The spec is a little unclear, and the examples may look like they + * contradict the description, but it all makes sense if you cross + * reference it with the XDG Base Directory Specification (version 0.6). + * To make things harder, parent type MergeFiles never appear on my box. + * + * What you do is this. + * + * Take the XDG_CONFIG_DIRS stuff as a whole ($XDG_CONFIG_HOME, then + * $XDG_CONFIG_DIRS), in this code that will be fdo_paths_config. + * + * If this menu file is from one of the directories in fdo_paths_config, + * scan the rest of fdo_paths_config looking for the new menu. In other + * words start searching in the next fdo_paths_config entry after the one + * that this menu is in. + * + * The file to look for is the path to this menu with the portion from + * fdo_paths_config stripped off the beginning. For instance, the top level + * menu file is typically /etc/xdg/menus/applications.menu, and /etc/xdg is + * typically in fdo_paths_config, so search for menus/applications.menu. + * + * If this menu file is NOT from one of the directories in fdo_paths_menus, + * insert nothing. + * + * The first one found wins, if none are found, don't merge anything. + */ + + /* FIXME: Actually implement this when I have some menus that will exercise it. */ + merge_path[0] = '\0'; + printf("\n### Didn't expect a MergeFile parent type\n"); + } + if (merge_path[0] != '\0') + { + Dumb_Tree *new_menu; + + new_menu = fdo_menus_get(merge_path, unxml_data->merge_stack, level + 1); + if (new_menu) + { + if (new_menu->size > 1) + { + if (new_menu->elements[1].type == DUMB_TREE_ELEMENT_TYPE_TREE) + { + new_menu = (Dumb_Tree *) new_menu->elements[1].element; + if (new_menu->size > 0) + { + if (new_menu->elements[0].type == DUMB_TREE_ELEMENT_TYPE_TREE) + { + merge = (Dumb_Tree *) new_menu->elements[0].element; + dumb_tree_remove(merge, 0); + dumb_tree_remove(merge, 1); + dumb_tree_remove(merge, 2); + dumb_tree_remove(merge, 3); + dumb_tree_remove(merge, 4); + /* FIXME: The MENU_PATHs need to be prefixed. */ } - else - printf("FUCK another error in _fdo_menus_merge(%s)\n", merge_path); - } - else - printf("FUCK ME! An error in _fdo_menus_merge(%s)\n", merge_path); - } - } - } + else + printf("FUCK an error in _fdo_menus_merge(%s)\n", merge_path); + } + else + printf("FUCK another error in _fdo_menus_merge(%s)\n", merge_path); + } + else + printf("FUCK ME! An error in _fdo_menus_merge(%s)\n", merge_path); + } + } + } result = 1; } } @@ -728,14 +728,13 @@ return 0; } - static int _fdo_menus_expand_default_dirs(const void *data, Dumb_Tree * tree, int element, int level) { struct _fdo_menus_unxml_data *unxml_data; Dumb_Tree *merge; int result = 0; - + unxml_data = (struct _fdo_menus_unxml_data *)data; merge = dumb_tree_new(NULL); if (tree->elements[element].type == DUMB_TREE_ELEMENT_TYPE_STRING) @@ -766,7 +765,6 @@ return 0; } - static int _fdo_menus_generate(const void *data, Dumb_Tree * tree, int element, int level) { @@ -793,7 +791,7 @@ int i; for (i = element + 5; i < tree->size; i++) - { + { int result = 0; char *string; @@ -815,11 +813,11 @@ else sprintf(merge_path, "%s%s", unxml_data->path, &string[14]); merge = dumb_tree_new(NULL); - if (merge) - { - fdo_paths_recursive_search(merge_path, NULL, _fdo_menus_check_directory, merge); - dumb_tree_merge(tree, i + 1, merge); - } + if (merge) + { + fdo_paths_recursive_search(merge_path, NULL, _fdo_menus_check_directory, merge); + dumb_tree_merge(tree, i + 1, merge); + } result = 1; } } @@ -845,16 +843,16 @@ } result = 1; } - } - } - } + } + } + } if (result) { tree->elements[i].type = DUMB_TREE_ELEMENT_TYPE_NULL; tree->elements[i].element = NULL; } - } + } if (unxml_data->stack->size <= level) { =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17genmenu/src/bin/fdo_menus.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- fdo_menus.h 22 Feb 2006 13:22:45 -0000 1.4 +++ fdo_menus.h 1 Mar 2006 05:16:41 -0000 1.5 @@ -8,7 +8,7 @@ { # endif - Dumb_Tree *fdo_menus_get(char *file, Dumb_Tree *merge_stack, int level); + Dumb_Tree *fdo_menus_get(char *file, Dumb_Tree * merge_stack, int level); # ifdef __cplusplus } ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs