+ // try to resolve DT_UNKNOWN and symlinks\r
+ for (i = 0; i < n; i++) {\r
+ struct stat st;\r
+ char *slash;\r
+\r
+ if (namelist[i]->d_type == DT_REG || namelist[i]->d_type == DT_DIR)\r
+ continue;\r
+\r
+ r = strlen(curr_path);\r
+ slash = (r && curr_path[r-1] == '/') ? "" : "/";\r
+ snprintf(rom_fname_reload, sizeof(rom_fname_reload),\r
+ "%s%s%s", curr_path, slash, namelist[i]->d_name);\r
+ r = stat(rom_fname_reload, &st);\r
+ if (r == 0)\r
+ {\r
+ if (S_ISREG(st.st_mode))\r
+ namelist[i]->d_type = DT_REG;\r
+ else if (S_ISDIR(st.st_mode))\r
+ namelist[i]->d_type = DT_DIR;\r
+ }\r
+ }\r
+\r