| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the mingw-w64 runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. | |
| */ | |
| #include <sys/stat.h> | |
| #include <windows.h> | |
| #include "__mingw_fix_stat.h" | |
| int __mingw_fix_fstat_finish(int ret, int fd, unsigned short *mode) | |
| { | |
| /* msvcrt's _fstat fills S_IFREG for directories. Fix it to S_IFDIR. */ | |
| BY_HANDLE_FILE_INFORMATION fi; | |
| if (ret == 0 && S_ISREG(*mode) && GetFileInformationByHandle((HANDLE)_get_osfhandle(fd), &fi) && (fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) | |
| *mode = (*mode & ~S_IFMT) | S_IFDIR; | |
| return ret; | |
| } |