mirror of
https://github.com/reactos/reactos.git
synced 2025-04-21 12:40:33 +00:00
Fixed stat() to set the S_IFREG flag to indicate that the file is a normal file
svn path=/trunk/; revision=2861
This commit is contained in:
parent
bd99ddf7af
commit
951c94bc9a
1 changed files with 2 additions and 4 deletions
|
@ -15,7 +15,6 @@
|
||||||
#include <msvcrt/errno.h>
|
#include <msvcrt/errno.h>
|
||||||
#include <msvcrt/internal/file.h>
|
#include <msvcrt/internal/file.h>
|
||||||
|
|
||||||
|
|
||||||
int _fstat(int fd, struct stat *statbuf)
|
int _fstat(int fd, struct stat *statbuf)
|
||||||
{
|
{
|
||||||
BY_HANDLE_FILE_INFORMATION FileInformation;
|
BY_HANDLE_FILE_INFORMATION FileInformation;
|
||||||
|
@ -45,10 +44,9 @@ int _fstat(int fd, struct stat *statbuf)
|
||||||
|
|
||||||
statbuf->st_dev = fd;
|
statbuf->st_dev = fd;
|
||||||
statbuf->st_size = FileInformation.nFileSizeLow;
|
statbuf->st_size = FileInformation.nFileSizeLow;
|
||||||
statbuf->st_mode = S_IREAD;
|
statbuf->st_mode = S_IREAD | S_IFREG;
|
||||||
if (FileInformation.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) statbuf->st_mode |= S_IFDIR;
|
if (FileInformation.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) statbuf->st_mode |= S_IFDIR;
|
||||||
if (!(FileInformation.dwFileAttributes & FILE_ATTRIBUTE_READONLY)) statbuf->st_mode |= S_IWRITE;
|
if (!(FileInformation.dwFileAttributes & FILE_ATTRIBUTE_READONLY)) statbuf->st_mode |= S_IWRITE;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,7 +73,7 @@ __int64 _fstati64 (int fd, struct _stati64* statbuf)
|
||||||
statbuf->st_dev = fd;
|
statbuf->st_dev = fd;
|
||||||
statbuf->st_size = (((__int64)FileInformation.nFileSizeHigh) << 32) +
|
statbuf->st_size = (((__int64)FileInformation.nFileSizeHigh) << 32) +
|
||||||
FileInformation.nFileSizeLow;
|
FileInformation.nFileSizeLow;
|
||||||
statbuf->st_mode = S_IREAD;
|
statbuf->st_mode = S_IREAD | S_IFREG;
|
||||||
if (FileInformation.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) statbuf->st_mode |= S_IFDIR;
|
if (FileInformation.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) statbuf->st_mode |= S_IFDIR;
|
||||||
if (!(FileInformation.dwFileAttributes & FILE_ATTRIBUTE_READONLY)) statbuf->st_mode |= S_IWRITE;
|
if (!(FileInformation.dwFileAttributes & FILE_ATTRIBUTE_READONLY)) statbuf->st_mode |= S_IWRITE;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue