mirror of
https://github.com/1dot13/source.git
synced 2026-08-26 14:30:26 +02:00
let FileWrite take a source buffer it will not write to
FileWrite took its source as PTR, a mutable void*, though it only reads it:
the buffer goes straight to vfs::tWritableFile::write, which takes a const
vfs::Byte*. STIConvert.cpp pads a file a byte at a time with
FileWrite(hFile, "", 1, NULL);
and a string literal is a const char[1], which PTR cannot hold.
Declaring the parameter const void* matches what the function does and what
the layer below it already asks for. The cast inside becomes const as well.
None of the 431 calls change: every pointer, const or not, converts to
const void*.
JA2EncryptedFileWrite and NewJA2EncryptedFileWrite have the same shape but
transform the buffer on the way out, so they keep PTR.
Verification:
ninja -C build parse # STIConvert.cpp clean
ninja -C build -k 0 # Release, four applications, green
ninja -C build-debug -k 0 # Debug, four applications, green
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
committed by
majcosta
co-authored by
Claude Opus 4.8
parent
a7dcdcaec3
commit
6d2df6addc
+2
-2
@@ -491,7 +491,7 @@ BOOLEAN FileReadLine( HWFILE hFile, std::string* pDest )
|
|||||||
//
|
//
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
BOOLEAN FileWrite( HWFILE hFile, PTR pDest, UINT32 uiBytesToWrite, UINT32 *puiBytesWritten )
|
BOOLEAN FileWrite( HWFILE hFile, const void* pDest, UINT32 uiBytesToWrite, UINT32 *puiBytesWritten )
|
||||||
{
|
{
|
||||||
if(uiBytesToWrite == 0)//dnl ch38 110909
|
if(uiBytesToWrite == 0)//dnl ch38 110909
|
||||||
{
|
{
|
||||||
@@ -507,7 +507,7 @@ BOOLEAN FileWrite( HWFILE hFile, PTR pDest, UINT32 uiBytesToWrite, UINT32 *puiBy
|
|||||||
UINT32 uiBytesWritten;
|
UINT32 uiBytesWritten;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
uiBytesWritten = pWF->write((vfs::Byte*)pDest, uiBytesToWrite);
|
uiBytesWritten = pWF->write((const vfs::Byte*)pDest, uiBytesToWrite);
|
||||||
}
|
}
|
||||||
catch(std::exception& ex)
|
catch(std::exception& ex)
|
||||||
{
|
{
|
||||||
|
|||||||
+1
-1
@@ -90,7 +90,7 @@ extern void FileClose( HWFILE );
|
|||||||
|
|
||||||
extern BOOLEAN FileRead( HWFILE hFile, PTR pDest, UINT32 uiBytesToRead, UINT32 *puiBytesRead );
|
extern BOOLEAN FileRead( HWFILE hFile, PTR pDest, UINT32 uiBytesToRead, UINT32 *puiBytesRead );
|
||||||
extern BOOLEAN FileReadLine( HWFILE hFile, std::string* pDest );
|
extern BOOLEAN FileReadLine( HWFILE hFile, std::string* pDest );
|
||||||
extern BOOLEAN FileWrite( HWFILE hFile, PTR pDest, UINT32 uiBytesToWrite, UINT32 *puiBytesWritten );
|
extern BOOLEAN FileWrite( HWFILE hFile, const void* pDest, UINT32 uiBytesToWrite, UINT32 *puiBytesWritten );
|
||||||
extern BOOLEAN FileLoad( STR filename, PTR pDest, UINT32 uiBytesToRead, UINT32 *puiBytesRead );
|
extern BOOLEAN FileLoad( STR filename, PTR pDest, UINT32 uiBytesToRead, UINT32 *puiBytesRead );
|
||||||
|
|
||||||
extern BOOLEAN _cdecl FilePrintf( HWFILE hFile, STR8 strFormatted, ... );
|
extern BOOLEAN _cdecl FilePrintf( HWFILE hFile, STR8 strFormatted, ... );
|
||||||
|
|||||||
Reference in New Issue
Block a user