static void me_enable(menu_entry *entries, menu_id id, int enable)\r
{\r
int i = me_id2offset(entries, id);\r
- entries[i].enabled = enable;\r
+ entries[i].enabled = !!enable;\r
}\r
\r
static int me_count(const menu_entry *ent)\r
if (n > 1)\r
qsort(namelist, n, sizeof(namelist[0]), scandir_cmp);\r
\r
+ // add ".." if it's somehow not there\r
+ if (n == 0 || strcmp(namelist[0]->d_name, "..")) {\r
+ struct dirent *dotdot = malloc(sizeof(*dotdot));\r
+ *dotdot = (struct dirent) { .d_name="..", .d_type=DT_DIR };\r
+ namelist = realloc(namelist, (n+1)*sizeof(*namelist));\r
+ memmove(namelist+1, namelist, n*sizeof(*namelist));\r
+ namelist[0] = dotdot;\r
+ n++;\r
+ }\r
+\r
// try to find selected file\r
sel = 0;\r
if (sel_fname[0] != 0) {\r