From 488ecccde56b56255dd3284b7c73eb0401be1207 Mon Sep 17 00:00:00 2001 From: anders_k Date: Wed, 1 Sep 2021 18:58:53 +0000 Subject: [PATCH] Make GCC happy git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@7311 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/Makensisw/makensisw.cpp | 10 +--------- Contrib/Makensisw/utils.cpp | 16 +++++++++++++++- Contrib/Makensisw/utils.h | 1 + Contrib/UserInfo/UserInfo.c | 2 ++ Source/BinInterop.cpp | 3 ++- Source/ResourceEditor.cpp | 4 ++-- Source/util.cpp | 2 +- 7 files changed, 24 insertions(+), 14 deletions(-) diff --git a/Contrib/Makensisw/makensisw.cpp b/Contrib/Makensisw/makensisw.cpp index 72da2998..e9737a3b 100644 --- a/Contrib/Makensisw/makensisw.cpp +++ b/Contrib/Makensisw/makensisw.cpp @@ -622,16 +622,8 @@ INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam break; } case WM_MAKENSIS_FREEZEEDITOR: - { - ITextDocument*pTD = (ITextDocument*) g_sdata.pLogTextDoc; - if (pTD) { - if (lParam) - return pTD->Freeze(0); - else - pTD->Unfreeze(0); - } + RicheditFreeze(g_sdata.pLogTextDoc, lParam); break; - } case WM_TIMER: { HWND hCtl; diff --git a/Contrib/Makensisw/utils.cpp b/Contrib/Makensisw/utils.cpp index e4f3aac7..6e880712 100644 --- a/Contrib/Makensisw/utils.cpp +++ b/Contrib/Makensisw/utils.cpp @@ -245,6 +245,21 @@ void InitializeLogWindow() { SendMessage(hRE, EM_SETTEXTMODE, TM_PLAINTEXT, 0); } +HRESULT RicheditFreeze(void*pITextDocument, SIZE_T Freeze) +{ + HRESULT hr = E_NOTIMPL; +#ifdef RE_HAS_TOM + ITextDocument*pTD = (ITextDocument*) pITextDocument; + if (pTD) { + if (Freeze) + hr = pTD->Freeze(0); + else + hr = pTD->Unfreeze(0); + } +#endif + return hr; +} + void SetLogColor(enum LOGCOLOR lc) { enum { em_seteditstyle = (WM_USER + 204), ses_extendbackcolor = 4 }; @@ -269,7 +284,6 @@ void ClearLog(HWND hwnd) { void LogMessage(HWND hwnd,const TCHAR *str) { HWND hLogWin = GetDlgItem(hwnd, IDC_LOGWIN); #ifdef RE_HAS_TOM - ITextDocument*pTD = (ITextDocument*) g_sdata.pLogTextDoc; HRESULT hr = (HRESULT) SendMessage(hwnd, WM_MAKENSIS_FREEZEEDITOR, 0, true); // Force COM calls to UI thread #endif SendMessage(hLogWin, EM_SETSEL, g_sdata.logLength, g_sdata.logLength); diff --git a/Contrib/Makensisw/utils.h b/Contrib/Makensisw/utils.h index 3d6ee0fc..1af7c0ac 100644 --- a/Contrib/Makensisw/utils.h +++ b/Contrib/Makensisw/utils.h @@ -181,6 +181,7 @@ static inline void GetGripperPos(HWND hwnd, RECT&r) } bool RicheditHasSelection(HWND hRE); +HRESULT RicheditFreeze(void*pITextDocument, SIZE_T Freeze); void EnableUICommand(UINT Id, INT_PTR Enabled); diff --git a/Contrib/UserInfo/UserInfo.c b/Contrib/UserInfo/UserInfo.c index eb1d6322..60024752 100644 --- a/Contrib/UserInfo/UserInfo.c +++ b/Contrib/UserInfo/UserInfo.c @@ -13,10 +13,12 @@ FORCEINLINE DWORD NoDepr_GetVersion() { __pragma(warning(push))__pragma(warning( typedef BOOL (WINAPI*CHECKTOKENMEMBERSHIP)(HANDLE TokenHandle,PSID SidToCheck,PBOOL IsMember); CHECKTOKENMEMBERSHIP _CheckTokenMembership=NULL; +#if !defined(_WIN64) || defined(NSIS_FORCERUNTIMELINKING) static FARPROC GetAA32ProcAddress(LPCSTR FuncName) { return GetProcAddress(GetModuleHandleA("ADVAPI32"), FuncName); } +#endif #if defined(NSIS_FORCERUNTIMELINKING) //__MINGW64_VERSION_MAJOR+0 >= 1 // OpenThreadToken is exported by kernel32.lib in mingw-w64 breaking < Win7 where it only exists in advapi32. diff --git a/Source/BinInterop.cpp b/Source/BinInterop.cpp index 9ee28e41..638d81e3 100644 --- a/Source/BinInterop.cpp +++ b/Source/BinInterop.cpp @@ -423,8 +423,9 @@ typedef struct tagMINI_IMAGE_VXD_HEADER { static bool GetDLLVersionFromVXD(const TCHAR *filepath, DWORD &high, DWORD &low, bool Product) { bool found = false; + UINT fieldofs = Product ? 2 : 0; FILEVIEW map; - char *filedata = create_file_view_readonly(filepath, map), fieldofs = Product ? 2 : 0; + char *filedata = create_file_view_readonly(filepath, map); if (filedata) { PIMAGE_DOS_HEADER pDosHdr = (PIMAGE_DOS_HEADER) filedata; diff --git a/Source/ResourceEditor.cpp b/Source/ResourceEditor.cpp index 8a704636..47609647 100644 --- a/Source/ResourceEditor.cpp +++ b/Source/ResourceEditor.cpp @@ -194,7 +194,7 @@ static TCHAR* ParseResProtocolAlloc(const TCHAR*Url, const TCHAR*&Type, const TC for (pD = buf, pS = pD;; ++pS, ++pD) { if ((ch = *pS) == '%') { // Deal with percent-encoding if (*++pS != '%') { - TCHAR hex[3] = { pS[0], pS[0] ? pS[1] : '\0', '\0' }; + TCHAR hex[3] = { pS[0], pS[0] ? pS[1] : _T('\0'), _T('\0') }; ch = ChIsHex(pS[0]) && ChIsHex(pS[1]) ? (TCHAR) _tcstol(hex, 0, 16) : 0; if (ch) ++pS; else ++bad; } @@ -920,7 +920,7 @@ BYTE* CResourceEditor::ExtractIcoCurW(const WINWCHAR* szType, WINWCHAR* szName, return 0; CResourceDataEntry*pRDE = pLangDir->GetDataEntry(); BYTE*pSH = pRDE->GetData(), cbRGE = 14, cbFGE = 16, *pResData; - DWORD succ = false, i, cbRes, failed = false; + DWORD i, cbRes, failed = false; if (pRDE->GetSize() < 6) // Must at least have a ICO file header return 0; WORD imgResType, count, *pFirstRGE = (WORD*) GetFirstICOCURGroupEntry(pSH, &imgResType, &count), *pRGE; diff --git a/Source/util.cpp b/Source/util.cpp index 6d427b69..039ee56c 100644 --- a/Source/util.cpp +++ b/Source/util.cpp @@ -68,7 +68,7 @@ static char* CreateMappedFileView(LPCTSTR Path, DWORD FAccess, DWORD FShare, DWO HANDLE hFile = CreateFile(Path, FAccess, FShare, NULL, FMode, 0, NULL); if (hFile == INVALID_HANDLE_VALUE) return pView; ULARGE_INTEGER fs; - validSize = GetFileSize64(hFile, fs) && sizeof(size_t) >= 8 || !fs.HighPart; + validSize = GetFileSize64(hFile, fs) && (sizeof(size_t) >= 8 || !fs.HighPart); FSize = sizeof(size_t) >= 8 ? (size_t) fs.QuadPart : fs.LowPart; HANDLE hMap = validSize ? CreateFileMapping(hFile, NULL, PProtect, 0, 0, NULL) : INVALID_HANDLE_VALUE; if (hMap != INVALID_HANDLE_VALUE)