Return bytes not chars for WriteFileA

This commit is contained in:
Jason Hood 2010-11-13 21:55:07 +10:00
parent b66d378192
commit 912a68b6a5

15
ANSI.c
View File

@ -1154,11 +1154,18 @@ WINAPI MyWriteFile( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite,
DWORD Mode; DWORD Mode;
if (GetConsoleMode( hFile, &Mode ) && (Mode & ENABLE_PROCESSED_OUTPUT)) if (GetConsoleMode( hFile, &Mode ) && (Mode & ENABLE_PROCESSED_OUTPUT))
{ {
TCHAR name[MAX_PATH];
DWORD len;
BOOL rc;
DEBUGSTR( TEXT("\\WriteFile: %lu \"%.*hs\""), nNumberOfBytesToWrite, nNumberOfBytesToWrite, lpBuffer ); DEBUGSTR( TEXT("\\WriteFile: %lu \"%.*hs\""), nNumberOfBytesToWrite, nNumberOfBytesToWrite, lpBuffer );
return MyWriteConsoleA( hFile, lpBuffer, rc = MyWriteConsoleA( hFile, lpBuffer,
nNumberOfBytesToWrite, nNumberOfBytesToWrite,
lpNumberOfBytesWritten, lpNumberOfBytesWritten,
lpOverlapped ); lpOverlapped );
len = GetModuleFileName( NULL, name, lenof(name) );
if (len >= 8 && lstrcmpi( name + len - 8, TEXT("ruby.exe") ) == 0)
*lpNumberOfBytesWritten = nNumberOfBytesToWrite;
return rc;
} }
else // here, WriteFile is the old function (this module is not hooked) else // here, WriteFile is the old function (this module is not hooked)
{ {