From 25610a9f29104f574d47d3d26f7a5b241e60854d Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Mon, 11 Nov 2019 17:33:28 +0100 Subject: [PATCH] + fix: other very large file bug --- src/Edit.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Edit.c b/src/Edit.c index b08e0dac4..5fae7434d 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -1030,9 +1030,9 @@ bool EditLoadFile( } char* lpData = AllocMem(dwFileSize + 8, HEAP_ZERO_MEMORY); - Globals.dwLastError = GetLastError(); if (!lpData) { + Globals.dwLastError = GetLastError(); CloseHandle(hFile); Encoding_SrcCmdLn(CPI_NONE); Encoding_SrcWeak(CPI_NONE); @@ -1293,13 +1293,13 @@ bool EditLoadFile( UINT uCodePage = Encoding_GetCodePage(status->iEncoding); LPWSTR lpDataWide = AllocMem(cbData * 2 + 16, HEAP_ZERO_MEMORY); - int const cbDataWide = MultiByteToWideChar(uCodePage, 0, lpData, cbData, lpDataWide, (MBWC_DocPos_Cast)(SizeOfMem(lpDataWide) / sizeof(WCHAR))); + size_t const cbDataWide = (size_t)MultiByteToWideChar(uCodePage, 0, lpData, cbData, lpDataWide, (MBWC_DocPos_Cast)(SizeOfMem(lpDataWide) / sizeof(WCHAR))); if (cbDataWide != 0) { FreeMem(lpData); lpData = AllocMem(cbDataWide * 3 + 16, HEAP_ZERO_MEMORY); - cbData = WideCharToMultiByte(Encoding_SciCP, 0, lpDataWide, cbDataWide, lpData, (MBWC_DocPos_Cast)SizeOfMem(lpData), NULL, NULL); + cbData = WideCharToMultiByte(Encoding_SciCP, 0, lpDataWide, (MBWC_DocPos_Cast)cbDataWide, lpData, (MBWC_DocPos_Cast)SizeOfMem(lpData), NULL, NULL); if (cbData != 0) { FreeMem(lpDataWide); EditSetNewText(hwnd, lpData, cbData, bClearUndoHistory);