+ // 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