linux: correctly identify symlinks to folders in file list

This commit is contained in:
insofaras 2016-06-07 18:46:53 +01:00
parent b6f86f4f8d
commit d5fcb00271
1 changed files with 4 additions and 7 deletions

View File

@ -471,18 +471,15 @@ Sys_Set_File_List_Sig(system_set_file_list){
cursor_start = cursor; cursor_start = cursor;
for (; *fname; ) *cursor++ = *fname++; for (; *fname; ) *cursor++ = *fname++;
#ifdef _DIRENT_HAVE_D_TYPE if(entry->d_type == DT_LNK){
if(entry->d_type != DT_UNKNOWN){
info_ptr->folder = entry->d_type == DT_DIR;
} else
#endif
{
struct stat st; struct stat st;
if(lstat(entry->d_name, &st) != -1){ if(stat(entry->d_name, &st) != -1){
info_ptr->folder = S_ISDIR(st.st_mode); info_ptr->folder = S_ISDIR(st.st_mode);
} else { } else {
info_ptr->folder = 0; info_ptr->folder = 0;
} }
} else {
info_ptr->folder = entry->d_type == DT_DIR;
} }
info_ptr->filename.str = cursor_start; info_ptr->filename.str = cursor_start;