diff --git a/src/Edit.c b/src/Edit.c index 0488a8dbf..bf1f86cd6 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -317,14 +317,14 @@ BOOL EditConvertText(HWND hwnd, int encSource, int encDest, BOOL bSetSavePoint) else { const DocPos chBufSize = length * 5 + 2; - char* pchText = GlobalAlloc(GPTR,chBufSize); + char* pchText = AllocMem(chBufSize,HEAP_ZERO_MEMORY); struct Sci_TextRange tr = { { 0, -1 }, NULL }; tr.lpstrText = pchText; SendMessage(hwnd,SCI_GETTEXTRANGE,0,(LPARAM)&tr); const DocPos wchBufSize = length * 3 + 2; - WCHAR* pwchText = GlobalAlloc(GPTR,wchBufSize); + WCHAR* pwchText = AllocMem(wchBufSize, HEAP_ZERO_MEMORY); // MultiBytes(Sci) -> WideChar(destination) -> Sci(MultiByte) const UINT cpDst = Encoding_GetCodePage(encDest); @@ -350,8 +350,8 @@ BOOL EditConvertText(HWND hwnd, int encSource, int encDest, BOOL bSetSavePoint) SendMessage(hwnd,SCI_GOTOPOS,0,0); SendMessage(hwnd,SCI_CHOOSECARETX,0,0); - GlobalFree(pchText); - GlobalFree(pwchText); + FreeMem(pchText); + FreeMem(pwchText); } return(TRUE); @@ -942,7 +942,7 @@ BOOL EditLoadFile( } } - char* lpData = GlobalAlloc(GPTR,dwBufSize); + char* lpData = AllocMem(dwBufSize, HEAP_ZERO_MEMORY); dwLastIOError = GetLastError(); if (!lpData) @@ -956,12 +956,12 @@ BOOL EditLoadFile( } DWORD cbData = 0L; - BOOL bReadSuccess = ReadAndDecryptFile(hwnd, hFile, (DWORD)GlobalSize(lpData) - 2, &lpData, &cbData); + BOOL bReadSuccess = ReadAndDecryptFile(hwnd, hFile, dwBufSize - 2, &lpData, &cbData); dwLastIOError = GetLastError(); CloseHandle(hFile); if (!bReadSuccess) { - GlobalFree(lpData); + FreeMem(lpData); Encoding_SrcCmdLn(CPI_NONE); Encoding_SrcWeak(CPI_NONE); return FALSE; @@ -1011,7 +1011,7 @@ BOOL EditLoadFile( EditSetNewText(hwnd,"",0); SendMessage(hwnd,SCI_SETEOLMODE,iLineEndings[g_iDefaultEOLMode],0); - GlobalFree(lpData); + FreeMem(lpData); } // === UNICODE === else if (!bSkipUTFDetection && //TODO: use Encoding_IsUNICODE(iAnalyzedEncoding) here ??? @@ -1042,29 +1042,29 @@ BOOL EditLoadFile( *iEncoding = CPI_UNICODE; } - lpDataUTF8 = GlobalAlloc(GPTR,(cbData * 3) + 2); + lpDataUTF8 = AllocMem((cbData * 3) + 2, HEAP_ZERO_MEMORY); DWORD convCnt = (DWORD)WideCharToMultiByte(Encoding_SciCP,0,(bBOM) ? (LPWSTR)lpData + 1 : (LPWSTR)lpData, - (bBOM) ? (cbData)/sizeof(WCHAR) : cbData/sizeof(WCHAR) + 1,lpDataUTF8,(int)GlobalSize(lpDataUTF8),NULL,NULL); + (bBOM) ? (cbData)/sizeof(WCHAR) : cbData/sizeof(WCHAR) + 1,lpDataUTF8,(int)SizeOfMem(lpDataUTF8),NULL,NULL); if (convCnt == 0) { if (pbUnicodeErr) *pbUnicodeErr = TRUE; convCnt = (DWORD)WideCharToMultiByte(CP_ACP,0,(bBOM) ? (LPWSTR)lpData + 1 : (LPWSTR)lpData, - (-1),lpDataUTF8,(int)GlobalSize(lpDataUTF8),NULL,NULL); + (-1),lpDataUTF8,(int)SizeOfMem(lpDataUTF8),NULL,NULL); } if (convCnt != 0) { - GlobalFree(lpData); + FreeMem(lpData); EditSetNewText(hwnd,"",0); FileVars_Init(lpDataUTF8,convCnt - 1,&fvCurFile); EditSetNewText(hwnd,lpDataUTF8,convCnt - 1); *iEOLMode = EditDetectEOLMode(hwnd,lpDataUTF8,convCnt - 1); - GlobalFree(lpDataUTF8); + FreeMem(lpDataUTF8); } else { - GlobalFree(lpDataUTF8); - GlobalFree(lpData); + FreeMem(lpDataUTF8); + FreeMem(lpData); Encoding_SrcCmdLn(CPI_NONE); Encoding_SrcWeak(CPI_NONE); return FALSE; @@ -1097,7 +1097,7 @@ BOOL EditLoadFile( *iEncoding = CPI_UTF8; *iEOLMode = EditDetectEOLMode(hwnd,lpData,cbData); } - GlobalFree(lpData); + FreeMem(lpData); } else { // === ALL OTHER === @@ -1120,32 +1120,32 @@ BOOL EditLoadFile( UINT uCodePage = Encoding_GetCodePage(*iEncoding); - LPWSTR lpDataWide = GlobalAlloc(GPTR,cbData * 2 + 16); - int cbDataWide = MultiByteToWideChar(uCodePage,0,lpData,cbData,lpDataWide,(int)GlobalSize(lpDataWide)/sizeof(WCHAR)); + LPWSTR lpDataWide = AllocMem(cbData * 2 + 16, HEAP_ZERO_MEMORY); + int cbDataWide = MultiByteToWideChar(uCodePage,0,lpData,cbData,lpDataWide,(int)SizeOfMem(lpDataWide)/sizeof(WCHAR)); if (cbDataWide != 0) { - GlobalFree(lpData); - lpData = GlobalAlloc(GPTR,cbDataWide * 3 + 16); + FreeMem(lpData); + lpData = AllocMem(cbDataWide * 3 + 16, HEAP_ZERO_MEMORY); - cbData = WideCharToMultiByte(Encoding_SciCP,0,lpDataWide,cbDataWide,lpData,(int)GlobalSize(lpData),NULL,NULL); + cbData = WideCharToMultiByte(Encoding_SciCP,0,lpDataWide,cbDataWide,lpData,(int)SizeOfMem(lpData),NULL,NULL); if (cbData != 0) { - GlobalFree(lpDataWide); + FreeMem(lpDataWide); EditSetNewText(hwnd,"",0); EditSetNewText(hwnd,lpData,cbData); *iEOLMode = EditDetectEOLMode(hwnd,lpData,cbData); - GlobalFree(lpData); + FreeMem(lpData); } else { - GlobalFree(lpDataWide); - GlobalFree(lpData); + FreeMem(lpDataWide); + FreeMem(lpData); Encoding_SrcCmdLn(CPI_NONE); Encoding_SrcWeak(CPI_NONE); return FALSE; } } else { - GlobalFree(lpDataWide); - GlobalFree(lpData); + FreeMem(lpDataWide); + FreeMem(lpData); Encoding_SrcCmdLn(CPI_NONE); Encoding_SrcWeak(CPI_NONE); return FALSE; @@ -1156,7 +1156,7 @@ BOOL EditLoadFile( EditSetNewText(hwnd,"",0); EditSetNewText(hwnd,lpData,cbData); *iEOLMode = EditDetectEOLMode(hwnd,lpData,cbData); - GlobalFree(lpData); + FreeMem(lpData); } } } @@ -1231,8 +1231,8 @@ BOOL EditSaveFile( // get text cbData = (DWORD)SciCall_GetTextLength(); - lpData = GlobalAlloc(GPTR, cbData + 4); //fix: +bom - SendMessage(hwnd,SCI_GETTEXT,GlobalSize(lpData),(LPARAM)lpData); + lpData = AllocMem(cbData + 4, HEAP_ZERO_MEMORY); //fix: +bom + SendMessage(hwnd,SCI_GETTEXT,SizeOfMem(lpData),(LPARAM)lpData); if (cbData == 0) { bWriteSuccess = SetEndOfFile(hFile); @@ -1269,22 +1269,22 @@ BOOL EditSaveFile( { SetEndOfFile(hFile); - LPWSTR lpDataWide = GlobalAlloc(GPTR, cbData * 2 + 16); + LPWSTR lpDataWide = AllocMem(cbData * 2 + 16, HEAP_ZERO_MEMORY); int bomoffset = 0; if (Encoding_IsUNICODE_BOM(iEncoding)) { const char* bom = "\xFF\xFE"; CopyMemory((char*)lpDataWide, bom, 2); bomoffset = 1; } - int cbDataWide = bomoffset + MultiByteToWideChar(Encoding_SciCP, 0, lpData, cbData, &lpDataWide[bomoffset], (int)GlobalSize(lpDataWide) / sizeof(WCHAR) - bomoffset); + int cbDataWide = bomoffset + MultiByteToWideChar(Encoding_SciCP, 0, lpData, cbData, &lpDataWide[bomoffset], (int)SizeOfMem(lpDataWide) / sizeof(WCHAR) - bomoffset); if (Encoding_IsUNICODE_REVERSE(iEncoding)) { _swab((char*)lpDataWide, (char*)lpDataWide, cbDataWide * sizeof(WCHAR)); } bWriteSuccess = EncryptAndWriteFile(hwnd, hFile, (BYTE*)lpDataWide, cbDataWide * sizeof(WCHAR), &dwBytesWritten); dwLastIOError = GetLastError(); - GlobalFree(lpDataWide); - GlobalFree(lpData); + FreeMem(lpDataWide); + FreeMem(lpData); } else if (Encoding_IsUTF8(iEncoding)) @@ -1302,7 +1302,7 @@ BOOL EditSaveFile( bWriteSuccess = EncryptAndWriteFile(hwnd, hFile, (BYTE*)lpData, cbData, &dwBytesWritten); dwLastIOError = GetLastError(); - GlobalFree(lpData); + FreeMem(lpData); } else if (Encoding_IsEXTERNAL_8BIT(iEncoding)) { @@ -1310,23 +1310,23 @@ BOOL EditSaveFile( BOOL bCancelDataLoss = FALSE; UINT uCodePage = Encoding_GetCodePage(iEncoding); - LPWSTR lpDataWide = GlobalAlloc(GPTR,cbData * 2 + 16); - int cbDataWide = MultiByteToWideChar(Encoding_SciCP,0,lpData,cbData,lpDataWide,(int)GlobalSize(lpDataWide)/sizeof(WCHAR)); + LPWSTR lpDataWide = AllocMem(cbData * 2 + 16, HEAP_ZERO_MEMORY); + int cbDataWide = MultiByteToWideChar(Encoding_SciCP,0,lpData,cbData,lpDataWide,(int)SizeOfMem(lpDataWide)/sizeof(WCHAR)); if (Encoding_IsMBCS(iEncoding)) { - GlobalFree(lpData); - lpData = GlobalAlloc(GPTR, GlobalSize(lpDataWide) * 2); // need more space - cbData = WideCharToMultiByte(uCodePage, 0, lpDataWide, cbDataWide, lpData, (int)GlobalSize(lpData), NULL, NULL); + FreeMem(lpData); + lpData = AllocMem(SizeOfMem(lpDataWide) * 2, HEAP_ZERO_MEMORY); // need more space + cbData = WideCharToMultiByte(uCodePage, 0, lpDataWide, cbDataWide, lpData, (int)SizeOfMem(lpData), NULL, NULL); } else { - ZeroMemory(lpData, GlobalSize(lpData)); - cbData = WideCharToMultiByte(uCodePage,WC_NO_BEST_FIT_CHARS,lpDataWide,cbDataWide,lpData,(int)GlobalSize(lpData),NULL,&bCancelDataLoss); + ZeroMemory(lpData, SizeOfMem(lpData)); + cbData = WideCharToMultiByte(uCodePage,WC_NO_BEST_FIT_CHARS,lpDataWide,cbDataWide,lpData,(int)SizeOfMem(lpData),NULL,&bCancelDataLoss); if (!bCancelDataLoss) { - cbData = WideCharToMultiByte(uCodePage,0,lpDataWide,cbDataWide,lpData,(int)GlobalSize(lpData),NULL,NULL); + cbData = WideCharToMultiByte(uCodePage,0,lpDataWide,cbDataWide,lpData,(int)SizeOfMem(lpData),NULL,NULL); bCancelDataLoss = FALSE; } } - GlobalFree(lpDataWide); + FreeMem(lpDataWide); if (!bCancelDataLoss || InfoBox(MBOKCANCEL,L"MsgConv3",IDS_ERR_UNICODE2) == IDOK) { SetEndOfFile(hFile); @@ -1338,14 +1338,14 @@ BOOL EditSaveFile( *pbCancelDataLoss = TRUE; } - GlobalFree(lpData); + FreeMem(lpData); } else { SetEndOfFile(hFile); bWriteSuccess = EncryptAndWriteFile(hwnd, hFile, (BYTE*)lpData, cbData, &dwBytesWritten); dwLastIOError = GetLastError(); - GlobalFree(lpData); + FreeMem(lpData); } } @@ -1383,12 +1383,12 @@ void EditInvertCase(HWND hwnd) const DocPos iSelEnd = SciCall_GetSelectionEnd(); const DocPos iSelLength = SciCall_GetSelText(NULL); - char* pszText = GlobalAlloc(GPTR,iSelLength); - LPWSTR pszTextW = GlobalAlloc(GPTR,(iSelLength*sizeof(WCHAR))); + char* pszText = AllocMem(iSelLength, HEAP_ZERO_MEMORY); + LPWSTR pszTextW = AllocMem((iSelLength*sizeof(WCHAR)), HEAP_ZERO_MEMORY); if (pszText == NULL || pszTextW == NULL) { - GlobalFree(pszText); - GlobalFree(pszTextW); + FreeMem(pszText); + FreeMem(pszTextW); return; } SciCall_GetSelText(pszText); @@ -1409,15 +1409,15 @@ void EditInvertCase(HWND hwnd) if (bChanged) { - WideCharToMultiByte(Encoding_SciCP,0,pszTextW,cchTextW,pszText,(int)GlobalSize(pszText),NULL,NULL); + WideCharToMultiByte(Encoding_SciCP,0,pszTextW,cchTextW,pszText,(int)SizeOfMem(pszText),NULL,NULL); SciCall_Clear(); SciCall_AddText((iSelEnd - iSelStart), pszText); SciCall_SetSel(iAnchorPos, iCurPos); } - GlobalFree(pszText); - GlobalFree(pszTextW); + FreeMem(pszText); + FreeMem(pszTextW); } else MsgBox(MBWARN,IDS_SELRECT); @@ -1443,12 +1443,12 @@ void EditTitleCase(HWND hwnd) const DocPos iSelEnd = SciCall_GetSelectionEnd(); const DocPos iSelLength = SciCall_GetSelText(NULL); - char* pszText = GlobalAlloc(GPTR,iSelLength); - LPWSTR pszTextW = GlobalAlloc(GPTR,(iSelLength*sizeof(WCHAR))); + char* pszText = AllocMem(iSelLength, HEAP_ZERO_MEMORY); + LPWSTR pszTextW = AllocMem((iSelLength*sizeof(WCHAR)), HEAP_ZERO_MEMORY); if (pszText == NULL || pszTextW == NULL) { - GlobalFree(pszText); - GlobalFree(pszTextW); + FreeMem(pszText); + FreeMem(pszTextW); return; } SciCall_GetSelText(pszText); @@ -1456,7 +1456,7 @@ void EditTitleCase(HWND hwnd) int cchTextW = MultiByteToWideChar(Encoding_SciCP,0,pszText,(int)(iSelLength-1),pszTextW,(int)iSelLength); BOOL bChanged = FALSE; - LPWSTR pszMappedW = LocalAlloc(LPTR,GlobalSize(pszTextW)); + LPWSTR pszMappedW = LocalAlloc(LPTR,SizeOfMem(pszTextW)); // first make lower case, before applying TitleCase if (LCMapString(LOCALE_SYSTEM_DEFAULT,(LCMAP_LINGUISTIC_CASING | LCMAP_LOWERCASE), pszTextW,cchTextW,pszMappedW,(int)iSelLength)) { @@ -1468,15 +1468,15 @@ void EditTitleCase(HWND hwnd) if (bChanged) { - WideCharToMultiByte(Encoding_SciCP,0,pszTextW,cchTextW,pszText,(int)GlobalSize(pszText),NULL,NULL); + WideCharToMultiByte(Encoding_SciCP,0,pszTextW,cchTextW,pszText,(int)SizeOfMem(pszText),NULL,NULL); SciCall_Clear(); SciCall_AddText((iSelEnd - iSelStart), pszText); SciCall_SetSel(iAnchorPos, iCurPos); } - GlobalFree(pszText); - GlobalFree(pszTextW); + FreeMem(pszText); + FreeMem(pszTextW); } else MsgBox(MBWARN,IDS_SELRECT); @@ -1502,12 +1502,12 @@ void EditSentenceCase(HWND hwnd) const DocPos iSelEnd = SciCall_GetSelectionEnd(); const DocPos iSelLength = SciCall_GetSelText(NULL); - char* pszText = GlobalAlloc(GPTR,iSelLength); - LPWSTR pszTextW = GlobalAlloc(GPTR,(iSelLength*sizeof(WCHAR))); + char* pszText = AllocMem(iSelLength, HEAP_ZERO_MEMORY); + LPWSTR pszTextW = AllocMem((iSelLength*sizeof(WCHAR)), HEAP_ZERO_MEMORY); if (pszText == NULL || pszTextW == NULL) { - GlobalFree(pszText); - GlobalFree(pszTextW); + FreeMem(pszText); + FreeMem(pszTextW); return; } SciCall_GetSelText(pszText); @@ -1541,15 +1541,15 @@ void EditSentenceCase(HWND hwnd) if (bChanged) { - WideCharToMultiByte(Encoding_SciCP,0,pszTextW,cchTextW,pszText,(int)GlobalSize(pszText),NULL,NULL); + WideCharToMultiByte(Encoding_SciCP,0,pszTextW,cchTextW,pszText,(int)SizeOfMem(pszText),NULL,NULL); SciCall_Clear(); SciCall_AddText((iSelEnd - iSelStart), pszText); SciCall_SetSel(iAnchorPos, iCurPos); } - GlobalFree(pszText); - GlobalFree(pszTextW); + FreeMem(pszText); + FreeMem(pszTextW); } else MsgBox(MBWARN,IDS_SELRECT); @@ -2033,14 +2033,14 @@ void EditTabsToSpaces(HWND hwnd,int nTabWidth,BOOL bOnlyIndentingWS) const char* pszText = SciCall_GetRangePointer(iSelStart, iSelCount); - LPWSTR pszTextW = GlobalAlloc(GPTR, (iSelCount + 1) * sizeof(WCHAR)); + LPWSTR pszTextW = AllocMem((iSelCount + 1) * sizeof(WCHAR), HEAP_ZERO_MEMORY); if (pszTextW == NULL) { return; } int cchTextW = MultiByteToWideChar(Encoding_SciCP,0,pszText,(int)iSelCount,pszTextW,(int)iSelCount+1); - LPWSTR pszConvW = GlobalAlloc(GPTR,cchTextW*sizeof(WCHAR)*nTabWidth+2); + LPWSTR pszConvW = AllocMem(cchTextW*sizeof(WCHAR)*nTabWidth+2, HEAP_ZERO_MEMORY); if (pszConvW == NULL) { - GlobalFree(pszTextW); + FreeMem(pszTextW); return; } @@ -2072,13 +2072,12 @@ void EditTabsToSpaces(HWND hwnd,int nTabWidth,BOOL bOnlyIndentingWS) } } - GlobalFree(pszTextW); + FreeMem(pszTextW); if (bModified) { - char* pszText2 = GlobalAlloc(GPTR,cchConvW*3); + char* pszText2 = AllocMem(cchConvW*3, HEAP_ZERO_MEMORY); - int cchConvM = WideCharToMultiByte(Encoding_SciCP,0,pszConvW,cchConvW,pszText2,(int)GlobalSize(pszText2),NULL,NULL); - GlobalFree(pszConvW); + int cchConvM = WideCharToMultiByte(Encoding_SciCP,0,pszConvW,cchConvW,pszText2,(int)SizeOfMem(pszText2),NULL,NULL); if (iCurPos < iAnchorPos) { iCurPos = iSelStart; @@ -2096,10 +2095,10 @@ void EditTabsToSpaces(HWND hwnd,int nTabWidth,BOOL bOnlyIndentingWS) EditSelectEx(hwnd, iAnchorPos, iCurPos); - GlobalFree(pszText2); + FreeMem(pszText2); } - else - GlobalFree(pszConvW); + + FreeMem(pszConvW); } @@ -2127,7 +2126,7 @@ void EditSpacesToTabs(HWND hwnd,int nTabWidth,BOOL bOnlyIndentingWS) const char* pszText = SciCall_GetRangePointer(iSelStart, iSelCount); - LPWSTR pszTextW = GlobalAlloc(GPTR, (iSelCount + 1) * sizeof(WCHAR)); + LPWSTR pszTextW = AllocMem((iSelCount + 1) * sizeof(WCHAR), HEAP_ZERO_MEMORY); if (pszTextW == NULL) { return; @@ -2135,9 +2134,9 @@ void EditSpacesToTabs(HWND hwnd,int nTabWidth,BOOL bOnlyIndentingWS) int cchTextW = MultiByteToWideChar(Encoding_SciCP,0,pszText,(int)iSelCount,pszTextW,(int)iSelCount+1); - LPWSTR pszConvW = GlobalAlloc(GPTR,cchTextW*sizeof(WCHAR)+2); + LPWSTR pszConvW = AllocMem(cchTextW*sizeof(WCHAR)+2, HEAP_ZERO_MEMORY); if (pszConvW == NULL) { - GlobalFree(pszTextW); + FreeMem(pszTextW); return; } @@ -2186,13 +2185,12 @@ void EditSpacesToTabs(HWND hwnd,int nTabWidth,BOOL bOnlyIndentingWS) pszConvW[cchConvW++] = space[t]; } - GlobalFree(pszTextW); + FreeMem(pszTextW); if (bModified || cchConvW != cchTextW) { - char* pszText2 = GlobalAlloc(GPTR,cchConvW * 3); + char* pszText2 = AllocMem(cchConvW * 3, HEAP_ZERO_MEMORY); - int cchConvM = WideCharToMultiByte(Encoding_SciCP,0,pszConvW,cchConvW,pszText2,(int)GlobalSize(pszText2),NULL,NULL); - GlobalFree(pszConvW); + int cchConvM = WideCharToMultiByte(Encoding_SciCP,0,pszConvW,cchConvW,pszText2,(int)SizeOfMem(pszText2),NULL,NULL); if (iAnchorPos > iCurPos) { iCurPos = iSelStart; @@ -2210,10 +2208,10 @@ void EditSpacesToTabs(HWND hwnd,int nTabWidth,BOOL bOnlyIndentingWS) EditSelectEx(hwnd, iAnchorPos, iCurPos); - GlobalFree(pszText2); + FreeMem(pszText2); } - else - GlobalFree(pszConvW); + + FreeMem(pszConvW); } @@ -3687,16 +3685,16 @@ void EditWrapToColumn(HWND hwnd,int nColumn/*,int nTabWidth*/) char* pszText = (char*)SciCall_GetRangePointer(iSelStart, iSelCount); - LPWSTR pszTextW = GlobalAlloc(GPTR,(iSelCount+2)*sizeof(WCHAR)); + LPWSTR pszTextW = AllocMem((iSelCount+2)*sizeof(WCHAR), HEAP_ZERO_MEMORY); if (pszTextW == NULL) { return; } - int cchTextW = MultiByteToWideChar(Encoding_SciCP,0,pszText,(int)iSelCount,pszTextW,(int)(GlobalSize(pszTextW)/sizeof(WCHAR))); + int cchTextW = MultiByteToWideChar(Encoding_SciCP,0,pszText,(int)iSelCount,pszTextW,(int)(SizeOfMem(pszTextW)/sizeof(WCHAR))); - LPWSTR pszConvW = GlobalAlloc(GPTR,cchTextW*sizeof(WCHAR)*3+2); + LPWSTR pszConvW = AllocMem(cchTextW*sizeof(WCHAR)*3+2, HEAP_ZERO_MEMORY); if (pszConvW == NULL) { - GlobalFree(pszTextW); + FreeMem(pszTextW); return; } @@ -3778,14 +3776,14 @@ void EditWrapToColumn(HWND hwnd,int nColumn/*,int nTabWidth*/) } } } - GlobalFree(pszTextW); + FreeMem(pszTextW); if (bModified) { - pszText = GlobalAlloc(GPTR, cchConvW * 3); + pszText = AllocMem(cchConvW * 3, HEAP_ZERO_MEMORY); if (pszText) { - int cchConvM = WideCharToMultiByte(Encoding_SciCP, 0, pszConvW, cchConvW, pszText, (int)GlobalSize(pszText), NULL, NULL); + int cchConvM = WideCharToMultiByte(Encoding_SciCP, 0, pszConvW, cchConvW, pszText, (int)SizeOfMem(pszText), NULL, NULL); if (iCurPos < iAnchorPos) { iAnchorPos = iSelStart + cchConvM; @@ -3803,12 +3801,12 @@ void EditWrapToColumn(HWND hwnd,int nColumn/*,int nTabWidth*/) SendMessage(hwnd, SCI_REPLACETARGET, (WPARAM)cchConvM, (LPARAM)pszText); EditLeaveTargetTransaction(); - GlobalFree(pszText); + FreeMem(pszText); EditSelectEx(hwnd, iAnchorPos, iCurPos); } } - GlobalFree(pszConvW); + FreeMem(pszConvW); } @@ -4353,7 +4351,7 @@ void EditGetExcerpt(HWND hwnd,LPWSTR lpszExcerpt,DWORD cchExcerpt) { tr.lpstrText = pszText; SendMessage(hwnd,SCI_GETTEXTRANGE,0,(LPARAM)&tr); - MultiByteToWideChar(Encoding_SciCP,0,pszText,tr.chrg.cpMax - tr.chrg.cpMin,pszTextW,(int)GlobalSize(pszTextW)/sizeof(WCHAR)); + MultiByteToWideChar(Encoding_SciCP,0,pszText,tr.chrg.cpMax - tr.chrg.cpMin,pszTextW,(int)SizeOfMem(pszTextW)/sizeof(WCHAR)); for (WCHAR* p = pszTextW; *p && cch < COUNTOF(tch)-1; p++) { if (*p == L'\r' || *p == L'\n' || *p == L'\t' || *p == L' ') { @@ -4846,7 +4844,7 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA DocPos cchSelection = (DocPos)SendMessage(lpefr->hwnd, SCI_GETSELTEXT, 0, (LPARAM)NULL); if ((1 < cchSelection) && (cchSelection < FNDRPL_BUFFER)) { - lpszSelection = GlobalAlloc(GPTR, cchSelection); + lpszSelection = AllocMem(cchSelection, HEAP_ZERO_MEMORY); SendMessage(lpefr->hwnd, SCI_GETSELTEXT, 0, (LPARAM)lpszSelection); } else if (cchSelection <= 1) { @@ -4857,7 +4855,7 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA if (pClip) { int len = lstrlenA(pClip); if (len > 0 && len < FNDRPL_BUFFER) { - lpszSelection = GlobalAlloc(GPTR, len + 1); + lpszSelection = AllocMem(len + 1, HEAP_ZERO_MEMORY); StringCchCopyNA(lpszSelection, len + 1, pClip, len); } LocalFree(pClip); @@ -4876,7 +4874,7 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA if (lpsz) *lpsz = '\0'; SetDlgItemTextMB2W(hwnd, IDC_FINDTEXT, lpszSelection); - GlobalFree(lpszSelection); + FreeMem(lpszSelection); } else { if (tchBuf[0] == L'\0') { diff --git a/src/Notepad3.c b/src/Notepad3.c index 1525a13ae..9203cbc50 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -813,8 +813,10 @@ HWND InitInstance(HINSTANCE hInstance,LPSTR pszCmdLine,int nCmdShow) } } } - GlobalFree(lpFileArg); lpFileArg = NULL; - + if (lpFileArg) { + FreeMem(lpFileArg); + lpFileArg = NULL; + } if (bOpened) { if (flagChangeNotify == 1) { iFileWatchingMode = 0; @@ -913,7 +915,8 @@ HWND InitInstance(HINSTANCE hInstance,LPSTR pszCmdLine,int nCmdShow) EditEnsureSelectionVisible(g_hwndEdit); } } - GlobalFree(lpMatchArg); + LocalFree(lpMatchArg); + lpMatchArg = NULL; } // Check for Paste Board option -- after loading files @@ -4826,7 +4829,7 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) MultiByteToWideCharStrg(Encoding_SciCP,mszSelection,wszSelection); int cmdsz = (512 + COUNTOF(szCmdTemplate) + MAX_PATH + 32); - LPWSTR lpszCommand = GlobalAlloc(GPTR,sizeof(WCHAR)*cmdsz); + LPWSTR lpszCommand = AllocMem(sizeof(WCHAR)*cmdsz, HEAP_ZERO_MEMORY); StringCchPrintf(lpszCommand,cmdsz,szCmdTemplate,wszSelection); ExpandEnvironmentStringsEx(lpszCommand, cmdsz); @@ -4848,7 +4851,7 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) sei.nShow = SW_SHOWNORMAL; ShellExecuteEx(&sei); - GlobalFree(lpszCommand); + FreeMem(lpszCommand); } } } @@ -5503,11 +5506,13 @@ LRESULT MsgNotify(HWND hwnd,WPARAM wParam,LPARAM lParam) { const DocPos iPrevLineLength = SciCall_LineLength(iCurLine - 1); char* pLineBuf = NULL; + bool bAllocLnBuf = false; if (iPrevLineLength < FNDRPL_BUFFER) { pLineBuf = chLineBuffer; } else { - pLineBuf = GlobalAlloc(GPTR, iPrevLineLength + 1); + bAllocLnBuf = true; + pLineBuf = AllocMem(iPrevLineLength + 1, HEAP_ZERO_MEMORY); } if (pLineBuf) { @@ -5522,7 +5527,7 @@ LRESULT MsgNotify(HWND hwnd,WPARAM wParam,LPARAM lParam) SendMessage(g_hwndEdit, SCI_ADDTEXT, lstrlenA(pLineBuf), (LPARAM)pLineBuf); SendMessage(g_hwndEdit, SCI_ENDUNDOACTION, 0, 0); } - if (iPrevLineLength >= FNDRPL_BUFFER) { GlobalFree(pLineBuf); } + if (bAllocLnBuf) { FreeMem(pLineBuf); } } } } @@ -6630,7 +6635,7 @@ void ParseCommandLine() if (ExtractFirstArgument(lp2,lp1,lp2,len)) { if (lpMatchArg) - GlobalFree(lpMatchArg); + LocalFree(lpMatchArg); lpMatchArg = StrDup(lp1); flagMatchText = 1; @@ -6731,10 +6736,11 @@ void ParseCommandLine() cchiFileList = lstrlen(lpCmdLine) - lstrlen(lp3); - if (lpFileArg) - GlobalFree(lpFileArg); - - lpFileArg = GlobalAlloc(GPTR,sizeof(WCHAR)*FILE_ARG_BUF); // changed for ActivatePrevInst() needs + if (lpFileArg) { + FreeMem(lpFileArg); + //lpFileArg = NULL; + } + lpFileArg = AllocMem(sizeof(WCHAR)*FILE_ARG_BUF, HEAP_ZERO_MEMORY); // changed for ActivatePrevInst() needs StringCchCopy(lpFileArg,FILE_ARG_BUF,lp3); PathFixBackslashes(lpFileArg); @@ -8208,7 +8214,7 @@ BOOL ActivatePrevInst() // lpFileArg is at least MAX_PATH+4 WCHARS WCHAR tchTmp[FILE_ARG_BUF] = { L'\0' }; - ExpandEnvironmentStringsEx(lpFileArg,(DWORD)GlobalSize(lpFileArg)/sizeof(WCHAR)); + ExpandEnvironmentStringsEx(lpFileArg,(DWORD)SizeOfMem(lpFileArg)/sizeof(WCHAR)); if (PathIsRelative(lpFileArg)) { StringCchCopyN(tchTmp,COUNTOF(tchTmp),g_wchWorkingDirectory,COUNTOF(g_wchWorkingDirectory)); @@ -8238,9 +8244,6 @@ BOOL ActivatePrevInst() // Enabled if (IsWindowEnabled(hwnd)) { - LPnp3params params; - DWORD cb = sizeof(np3params); - // Make sure the previous window won't pop up a change notification message //SendMessage(hwnd,WM_CHANGENOTIFYCLEAR,0,0); @@ -8254,10 +8257,11 @@ BOOL ActivatePrevInst() SetForegroundWindow(hwnd); + DWORD cb = sizeof(np3params); if (lpSchemeArg) cb += (lstrlen(lpSchemeArg) + 1) * sizeof(WCHAR); - params = GlobalAlloc(GPTR,cb); + LPnp3params params = AllocMem(cb, HEAP_ZERO_MEMORY); params->flagFileSpecified = FALSE; params->flagChangeNotify = 0; params->flagQuietCreate = FALSE; @@ -8278,11 +8282,11 @@ BOOL ActivatePrevInst() params->flagTitleExcerpt = 0; cds.dwData = DATA_NOTEPAD3_PARAMS; - cds.cbData = (DWORD)GlobalSize(params); + cds.cbData = (DWORD)SizeOfMem(params); cds.lpData = params; SendMessage(hwnd,WM_COPYDATA,(WPARAM)NULL,(LPARAM)&cds); - GlobalFree(params); + FreeMem(params); return(TRUE); } @@ -8328,11 +8332,8 @@ BOOL ActivatePrevInst() // Search working directory from second instance, first! // lpFileArg is at least MAX_PATH+4 WCHAR WCHAR tchTmp[FILE_ARG_BUF] = { L'\0' }; - LPnp3params params; - DWORD cb = sizeof(np3params); - int cchTitleExcerpt; - ExpandEnvironmentStringsEx(lpFileArg,(DWORD)GlobalSize(lpFileArg)/sizeof(WCHAR)); + ExpandEnvironmentStringsEx(lpFileArg,(DWORD)SizeOfMem(lpFileArg)/sizeof(WCHAR)); if (PathIsRelative(lpFileArg)) { StringCchCopyN(tchTmp,COUNTOF(tchTmp),g_wchWorkingDirectory,COUNTOF(g_wchWorkingDirectory)); @@ -8348,16 +8349,17 @@ BOOL ActivatePrevInst() else if (SearchPath(NULL,lpFileArg,NULL,COUNTOF(tchTmp),tchTmp,NULL)) StringCchCopy(lpFileArg,FILE_ARG_BUF,tchTmp); + DWORD cb = sizeof(np3params); cb += (lstrlen(lpFileArg) + 1) * sizeof(WCHAR); if (lpSchemeArg) cb += (lstrlen(lpSchemeArg) + 1) * sizeof(WCHAR); - cchTitleExcerpt = StringCchLenW(szTitleExcerpt,COUNTOF(szTitleExcerpt)); + int cchTitleExcerpt = StringCchLenW(szTitleExcerpt,COUNTOF(szTitleExcerpt)); if (cchTitleExcerpt) cb += (cchTitleExcerpt + 1) * sizeof(WCHAR); - params = GlobalAlloc(GPTR,cb); + LPnp3params params = AllocMem(cb, HEAP_ZERO_MEMORY); params->flagFileSpecified = TRUE; StringCchCopy(¶ms->wchData,lstrlen(lpFileArg)+1,lpFileArg); params->flagChangeNotify = flagChangeNotify; @@ -8385,12 +8387,12 @@ BOOL ActivatePrevInst() params->flagTitleExcerpt = 0; cds.dwData = DATA_NOTEPAD3_PARAMS; - cds.cbData = (DWORD)GlobalSize(params); + cds.cbData = (DWORD)SizeOfMem(params); cds.lpData = params; SendMessage(hwnd,WM_COPYDATA,(WPARAM)NULL,(LPARAM)&cds); - GlobalFree(params); params = NULL; - GlobalFree(lpFileArg); lpFileArg = NULL; + FreeMem(params); params = NULL; + FreeMem(lpFileArg); lpFileArg = NULL; } return(TRUE); } @@ -8451,10 +8453,11 @@ BOOL RelaunchMultiInst() { CreateProcess(NULL,lpCmdLineNew,NULL,NULL,FALSE,0,NULL,g_wchWorkingDirectory,&si,&pi); } + LocalFree(lpCmdLineNew); LocalFree(lp1); LocalFree(lp2); - GlobalFree(lpFileArg); lpFileArg = NULL; + FreeMem(lpFileArg); lpFileArg = NULL; return TRUE; }