mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 19:26:32 +00:00
minor corrections to match the behavior of wine's implementation
svn path=/trunk/; revision=15037
This commit is contained in:
@@ -28,15 +28,14 @@ _hread(
|
||||
{
|
||||
DWORD NumberOfBytesRead;
|
||||
|
||||
if (ReadFile(
|
||||
if ( !ReadFile(
|
||||
(HANDLE) hFile,
|
||||
(LPVOID) lpBuffer,
|
||||
(DWORD) lBytes,
|
||||
& NumberOfBytesRead,
|
||||
NULL
|
||||
) == FALSE)
|
||||
NULL) )
|
||||
{
|
||||
return -1;
|
||||
return HFILE_ERROR;
|
||||
}
|
||||
return NumberOfBytesRead;
|
||||
}
|
||||
@@ -57,21 +56,20 @@ _hwrite (
|
||||
|
||||
if (lBytes == 0)
|
||||
{
|
||||
if ( SetEndOfFile((HANDLE) hFile ) == FALSE )
|
||||
if ( !SetEndOfFile((HANDLE) hFile ) )
|
||||
{
|
||||
return -1;
|
||||
return HFILE_ERROR;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
if ( WriteFile(
|
||||
if ( !WriteFile(
|
||||
(HANDLE) hFile,
|
||||
(LPVOID) lpBuffer,
|
||||
(DWORD) lBytes,
|
||||
& NumberOfBytesWritten,
|
||||
NULL
|
||||
) == FALSE )
|
||||
NULL) )
|
||||
{
|
||||
return -1;
|
||||
return HFILE_ERROR;
|
||||
}
|
||||
return NumberOfBytesWritten;
|
||||
}
|
||||
@@ -97,16 +95,15 @@ _lopen (
|
||||
else if ( (iReadWrite & OF_WRITE ) == OF_WRITE )
|
||||
dwAccessMask = GENERIC_WRITE;
|
||||
|
||||
if ((iReadWrite & OF_SHARE_COMPAT) == OF_SHARE_COMPAT )
|
||||
dwShareMode = FILE_SHARE_WRITE | FILE_SHARE_READ | FILE_SHARE_DELETE;
|
||||
else if ((iReadWrite & OF_SHARE_DENY_NONE) == OF_SHARE_DENY_NONE)
|
||||
dwShareMode = FILE_SHARE_WRITE | FILE_SHARE_READ | FILE_SHARE_DELETE;
|
||||
else if ((iReadWrite & OF_SHARE_DENY_READ) == OF_SHARE_DENY_READ)
|
||||
dwShareMode = FILE_SHARE_WRITE | FILE_SHARE_DELETE;
|
||||
if ((iReadWrite & OF_SHARE_DENY_READ) == OF_SHARE_DENY_READ)
|
||||
dwShareMode = FILE_SHARE_WRITE;
|
||||
else if ((iReadWrite & OF_SHARE_DENY_WRITE) == OF_SHARE_DENY_WRITE )
|
||||
dwShareMode = FILE_SHARE_READ | FILE_SHARE_DELETE;
|
||||
dwShareMode = FILE_SHARE_READ;
|
||||
else if ((iReadWrite & OF_SHARE_EXCLUSIVE) == OF_SHARE_EXCLUSIVE)
|
||||
dwShareMode = 0;
|
||||
else
|
||||
/* OF_SHARE_DENY_NONE, OF_SHARE_COMPAT and everything else */
|
||||
dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE;
|
||||
|
||||
return (HFILE) CreateFileA(
|
||||
lpPathName,
|
||||
@@ -129,13 +126,14 @@ _lcreat (
|
||||
int iAttribute
|
||||
)
|
||||
{
|
||||
iAttribute &= FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM;
|
||||
return (HFILE) CreateFileA(
|
||||
lpPathName,
|
||||
GENERIC_ALL,
|
||||
GENERIC_READ | GENERIC_WRITE,
|
||||
(FILE_SHARE_READ | FILE_SHARE_WRITE),
|
||||
NULL,
|
||||
CREATE_ALWAYS,
|
||||
iAttribute & FILE_ATTRIBUTE_VALID_FLAGS,
|
||||
iAttribute,
|
||||
NULL);
|
||||
}
|
||||
|
||||
@@ -153,7 +151,7 @@ _lclose (
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
return HFILE_ERROR;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user