From 0d3676730432dc9af82c6300d56cde316dee785f Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Sat, 11 May 2019 14:51:07 +0200 Subject: [PATCH] Clean up mpqapi_write_header --- Source/mpqapi.cpp | 21 +++++++++++---------- Source/mpqapi.h | 2 +- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Source/mpqapi.cpp b/Source/mpqapi.cpp index bae95a377..1834e6c4d 100644 --- a/Source/mpqapi.cpp +++ b/Source/mpqapi.cpp @@ -650,13 +650,12 @@ void mpqapi_flush_and_close(const char *pszArchive, BOOL bFree, int dwChar) } // 65AB0C: using guessed type int save_archive_modified; -BOOLEAN mpqapi_write_header() // WriteMPQHeader +BOOL mpqapi_write_header() // WriteMPQHeader { - BOOLEAN result; // al - _FILEHEADER fhdr; // [esp+8h] [ebp-6Ch] - DWORD NumberOfBytesWritten; // [esp+70h] [ebp-4h] + _FILEHEADER fhdr; + DWORD NumberOfBytesWritten; - memset(&fhdr, 0, 0x68u); + memset(&fhdr, 0, 0x68); fhdr.signature = '\x1AQPM'; fhdr.headersize = 32; fhdr.filesize = GetFileSize(sghArchive, 0); @@ -666,11 +665,13 @@ BOOLEAN mpqapi_write_header() // WriteMPQHeader fhdr.blockoffset = 104; fhdr.hashcount = 2048; fhdr.blockcount = 2048; - if (SetFilePointer(sghArchive, 0, NULL, FILE_BEGIN) != -1 && WriteFile(sghArchive, &fhdr, 0x68u, &NumberOfBytesWritten, 0)) - result = NumberOfBytesWritten == 104; - else - result = 0; - return result; + + if (SetFilePointer(sghArchive, 0, NULL, FILE_BEGIN) == -1) + return 0; + if (!WriteFile(sghArchive, &fhdr, 0x68, &NumberOfBytesWritten, 0)) + return 0; + + return NumberOfBytesWritten == 104; } BOOL mpqapi_write_block_table() diff --git a/Source/mpqapi.h b/Source/mpqapi.h index c58d0126e..43c0b747b 100644 --- a/Source/mpqapi.h +++ b/Source/mpqapi.h @@ -30,7 +30,7 @@ BOOLEAN mpqapi_parse_archive_header(_FILEHEADER *pHdr, int *pdwNextFileStart); void mpqapi_close_archive(const char *pszArchive, BOOL bFree, int dwChar); void mpqapi_store_modified_time(const char *pszArchive, int dwChar); void mpqapi_flush_and_close(const char *pszArchive, BOOL bFree, int dwChar); -BOOLEAN mpqapi_write_header(); +BOOL mpqapi_write_header(); BOOL mpqapi_write_block_table(); BOOL mpqapi_write_hash_table(); BOOL mpqapi_can_seek();