X-Git-Url: http://pileus.org/git/?p=site;a=blobdiff_plain;f=src%2Fmain.c;h=3fad35719ead2eaa0c59b83ee9b7d12133df1f4d;hp=d3c7e12dcdae01b3f5162f5d34ea5e979c170a85;hb=4bec516a86ece8e198b45c81fabf28c6c2ea8818;hpb=d6b935bba07cc39fa1d1830bf1eafd57bc92f98a diff --git a/src/main.c b/src/main.c index d3c7e12..3fad357 100644 --- a/src/main.c +++ b/src/main.c @@ -201,14 +201,32 @@ menu_t *get_menu(char *path) #endif } +int get_slashes(char *path) +{ + int slashes = 0; + for (int i = 0; path[i]; i++) { + if (path[i] == '/') + slashes += 1; + if (path[i] != '/' && !path[i+1]) + slashes *= -1; + } + return slashes; +} + void print_menu(menu_t *menu, int first, int last) { for (menu_t *cur = menu; cur; cur = cur->next) { if (first <= 0 && cur->show != SHOW_HIDDEN) print_link(cur->path, cur->name, - cur->show == SHOW_ACTIVE); - if (cur->kids && last != 0) + cur->show == SHOW_ACTIVE, + get_slashes(cur->path)); + if (cur->kids && last != 0) { + if (first == 0) + print_menu_start(); print_menu(cur->kids, first-1, last-1); + if (first == 0) + print_menu_end(); + } } }