diff --git a/src/Dialogs.c b/src/Dialogs.c index 489c757fb..f6d6328b3 100644 --- a/src/Dialogs.c +++ b/src/Dialogs.c @@ -235,7 +235,7 @@ INT_PTR CALLBACK AboutDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam) ShowWindow(GetDlgItem(hwnd,IDC_WEBPAGE2),SW_SHOWNORMAL); } else { - wsprintf(wch,L"%s",VERSION_WEBPAGEDISPLAY); + StringCchPrintfW(wch,COUNTOF(wch),L"%s",VERSION_WEBPAGEDISPLAY); SetDlgItemText(hwnd,IDC_WEBPAGE,wch); } @@ -244,7 +244,7 @@ INT_PTR CALLBACK AboutDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam) ShowWindow(GetDlgItem(hwnd, IDC_MODWEBPAGE2), SW_SHOWNORMAL); } else { - wsprintf(wch, L"%s", VERSION_MODPAGEDISPLAY); + StringCchPrintfW(wch,COUNTOF(wch),L"%s", VERSION_MODPAGEDISPLAY); SetDlgItemText(hwnd, IDC_MODWEBPAGE, wch); } @@ -253,7 +253,7 @@ INT_PTR CALLBACK AboutDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam) ShowWindow(GetDlgItem(hwnd, IDC_NOTE2WEBPAGE2), SW_SHOWNORMAL); } else { - wsprintf(wch, L"%s", VERSION_WEBPAGE2DISPLAY); + StringCchPrintfW(wch,COUNTOF(wch),L"%s", VERSION_WEBPAGE2DISPLAY); SetDlgItemText(hwnd, IDC_NOTE2WEBPAGE, wch); } diff --git a/src/Dialogs.h b/src/Dialogs.h index b18d32ead..54d25498b 100644 --- a/src/Dialogs.h +++ b/src/Dialogs.h @@ -12,6 +12,9 @@ * * * * *******************************************************************************/ +#pragma once +#ifndef _NP3_DIALOGS_H_ +#define _NP3_DIALOGS_H_ #define MBINFO 0 #define MBWARN 1 @@ -41,4 +44,4 @@ BOOL SelectDefLineEndingDlg(HWND,int *); INT_PTR InfoBox(int,LPCWSTR,int,...); -// End of Dialogs.h +#endif //_NP3_DIALOGS_H_ diff --git a/src/Dlapi.h b/src/Dlapi.h index 0ba946026..874a7927b 100644 --- a/src/Dlapi.h +++ b/src/Dlapi.h @@ -12,9 +12,10 @@ * * * * *******************************************************************************/ +#pragma once -#ifndef _DLAPI_H_ -#define _DLAPI_H_ +#ifndef _NP3_DLAPI_H_ +#define _NP3_DLAPI_H_ #ifdef __cplusplus extern "C" { // C-Declarations @@ -185,7 +186,7 @@ BOOL IL_GetDisplayName(LPSHELLFOLDER, #endif //__cplusplus -#endif // _DLAPI_H_ +#endif //_NP3_DLAPI_H_ /// End of Dlapi.h \\\ diff --git a/src/Edit.c b/src/Edit.c index 2882689f7..c1c896374 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -489,7 +489,7 @@ char* EditGetClipboardText(HWND hwnd) LocalFree(pmch); pmch = LocalAlloc(LPTR,mlen2 + 1); - lstrcpyA(pmch,ptmp); + StringCchCopyA(pmch,mlen2,ptmp); LocalFree(ptmp); } @@ -553,8 +553,9 @@ BOOL EditCopyAppend(HWND hwnd) cchTextW = MultiByteToWideChar(uCodePage,0,pszText,-1,NULL,0); if (cchTextW > 0) { - pszTextW = LocalAlloc(LPTR,sizeof(WCHAR)*(lstrlen(pszSep) + cchTextW + 1)); - lstrcpy(pszTextW,pszSep); + int lenTxt = (lstrlen(pszSep) + cchTextW + 1); + pszTextW = LocalAlloc(LPTR,sizeof(WCHAR)*lenTxt); + StringCchCopyW(pszTextW,lenTxt,pszSep); MultiByteToWideChar(uCodePage,0,pszText,-1,StrEnd(pszTextW),(int)LocalSize(pszTextW)/sizeof(WCHAR)); } else { @@ -571,12 +572,12 @@ BOOL EditCopyAppend(HWND hwnd) hOld = GetClipboardData(CF_UNICODETEXT); pszOld = GlobalLock(hOld); - hNew = GlobalAlloc(GMEM_MOVEABLE|GMEM_ZEROINIT, - sizeof(WCHAR) * (lstrlen(pszOld) + lstrlen(pszTextW) + 1)); + int sizeNew = (lstrlen(pszOld) + lstrlen(pszTextW) + 1); + hNew = GlobalAlloc(GMEM_MOVEABLE|GMEM_ZEROINIT,sizeof(WCHAR) * sizeNew); pszNew = GlobalLock(hNew); - - lstrcpy(pszNew,pszOld); - lstrcat(pszNew,pszTextW); + + StringCchCopyW(pszNew,sizeNew,pszOld); + StringCchCatW(pszNew,sizeNew,pszTextW); GlobalUnlock(hNew); GlobalUnlock(hOld); @@ -623,9 +624,9 @@ int EditDetectEOLMode(HWND hwnd,char* lpData,DWORD cbData) // Encoding Helper Functions // void Encoding_InitDefaults() { - wsprintf(wchANSI,L" (%u)",GetACP()); + StringCchPrintfW(wchANSI,COUNTOF(wchANSI),L" (%u)",GetACP()); mEncoding[CPI_OEM].uCodePage = GetOEMCP(); - wsprintf(wchOEM,L" (%u)",mEncoding[CPI_OEM].uCodePage); + StringCchPrintfW(wchOEM,COUNTOF(wchOEM),L" (%u)",mEncoding[CPI_OEM].uCodePage); g_DOSEncoding = CPI_OEM; @@ -800,9 +801,9 @@ void Encoding_AddToListView(HWND hwnd,int idSel,BOOL bRecodeOnly) StrCpyN(wchBuf,pEE[i].wch,COUNTOF(wchBuf)); if (Encoding_IsANSI(id)) - StrCatN(wchBuf,wchANSI,COUNTOF(wchBuf)); + StringCchCatNW(wchBuf,COUNTOF(wchBuf),wchANSI,COUNTOF(wchANSI)); else if (id == CPI_OEM) - StrCatN(wchBuf,wchOEM,COUNTOF(wchBuf)); + StringCchCatNW(wchBuf,COUNTOF(wchBuf),wchOEM,COUNTOF(wchOEM)); if ((mEncoding[id].uFlags & NCP_INTERNAL) || (IsValidCodePage(mEncoding[id].uCodePage) && @@ -893,9 +894,9 @@ void Encoding_AddToComboboxEx(HWND hwnd,int idSel,BOOL bRecodeOnly) StrCpyN(wchBuf,pEE[i].wch,COUNTOF(wchBuf)); if (Encoding_IsANSI(id)) - StrCatN(wchBuf,wchANSI,COUNTOF(wchBuf)); + StringCchCatNW(wchBuf,COUNTOF(wchBuf),wchANSI,COUNTOF(wchANSI)); else if (id == CPI_OEM) - StrCatN(wchBuf,wchOEM,COUNTOF(wchBuf)); + StringCchCatNW(wchBuf,COUNTOF(wchBuf),wchOEM,COUNTOF(wchOEM)); if ((mEncoding[id].uFlags & NCP_INTERNAL) || (IsValidCodePage(mEncoding[id].uCodePage) && @@ -2100,16 +2101,16 @@ void EditEscapeCChars(HWND hwnd) { SendMessage(hwnd,SCI_BEGINUNDOACTION,0,0); - lstrcpyA(efr.szFind,"\\"); - lstrcpyA(efr.szReplace,"\\\\"); + StringCchCopyA(efr.szFind,FNDRPL_BUFFER,"\\"); + StringCchCopyA(efr.szReplace,FNDRPL_BUFFER,"\\\\"); EditReplaceAllInSelection(hwnd,&efr,FALSE); - lstrcpyA(efr.szFind,"\""); - lstrcpyA(efr.szReplace,"\\\""); + StringCchCopyA(efr.szFind,FNDRPL_BUFFER,"\""); + StringCchCopyA(efr.szReplace,FNDRPL_BUFFER,"\\\""); EditReplaceAllInSelection(hwnd,&efr,FALSE); - lstrcpyA(efr.szFind,"\'"); - lstrcpyA(efr.szReplace,"\\\'"); + StringCchCopyA(efr.szFind,FNDRPL_BUFFER,"\'"); + StringCchCopyA(efr.szReplace,FNDRPL_BUFFER,"\\\'"); EditReplaceAllInSelection(hwnd,&efr,FALSE); SendMessage(hwnd,SCI_ENDUNDOACTION,0,0); @@ -2135,16 +2136,16 @@ void EditUnescapeCChars(HWND hwnd) { SendMessage(hwnd,SCI_BEGINUNDOACTION,0,0); - lstrcpyA(efr.szFind,"\\\\"); - lstrcpyA(efr.szReplace,"\\"); + StringCchCopyA(efr.szFind,FNDRPL_BUFFER,"\\\\"); + StringCchCopyA(efr.szReplace,FNDRPL_BUFFER,"\\"); EditReplaceAllInSelection(hwnd,&efr,FALSE); - lstrcpyA(efr.szFind,"\\\""); - lstrcpyA(efr.szReplace,"\""); + StringCchCopyA(efr.szFind,FNDRPL_BUFFER,"\\\""); + StringCchCopyA(efr.szReplace,FNDRPL_BUFFER,"\""); EditReplaceAllInSelection(hwnd,&efr,FALSE); - lstrcpyA(efr.szFind,"\\\'"); - lstrcpyA(efr.szReplace,"\'"); + StringCchCopyA(efr.szFind,FNDRPL_BUFFER,"\\\'"); + StringCchCopyA(efr.szReplace,FNDRPL_BUFFER,"\'"); EditReplaceAllInSelection(hwnd,&efr,FALSE); SendMessage(hwnd,SCI_ENDUNDOACTION,0,0); @@ -2177,14 +2178,14 @@ void EditChar2Hex(HWND hwnd) { SendMessage(hwnd,SCI_GETSELTEXT,0,(LPARAM)ch); if (ch[0] == 0) - lstrcpyA(ch,"\\x00"); + StringCchCopyA(ch,COUNTOF(ch),"\\x00"); else { MultiByteToWideChar(cp,0,ch,-1,wch,COUNTOF(wch)); if (wch[0] <= 0xFF) - wsprintfA(ch,"\\x%02X",wch[0] & 0xFF); + StringCchPrintfA(ch,COUNTOF(ch),"\\x%02X",wch[0] & 0xFF); else - wsprintfA(ch,"\\u%04X",wch[0]); + StringCchPrintfA(ch,COUNTOF(ch),"\\u%04X",wch[0]); } SendMessage(hwnd,SCI_REPLACESEL,0,(LPARAM)ch); @@ -2240,7 +2241,7 @@ void EditHex2Char(HWND hwnd) { else { UINT cp = (UINT)SendMessage(hwnd,SCI_GETCODEPAGE,0,0); WCHAR wch[4]; - wsprintf(wch,L"%lc",(WCHAR)i); + StringCchPrintfW(wch,COUNTOF(wch),L"%lc",(WCHAR)i); cch = WideCharToMultiByte(cp,0,wch,-1,ch,COUNTOF(ch),NULL,NULL) - 1; if (bTrySelExpand && (char)SendMessage(hwnd,SCI_GETCHARAT,(WPARAM)iSelStart-1,0) == '\\') { iSelStart--; @@ -2291,8 +2292,8 @@ void EditModifyNumber(HWND hwnd,BOOL bIncrease) { iNumber++; if (!bIncrease && iNumber > 0) iNumber--; - wsprintfA(chFormat,"%%0%ii",iWidth); - wsprintfA(chNumber,chFormat,iNumber); + StringCchPrintfA(chFormat,COUNTOF(chFormat),"%%0%ii",iWidth); + StringCchPrintfA(chNumber,COUNTOF(chNumber),chFormat,iNumber); SendMessage(hwnd,SCI_REPLACESEL,0,(LPARAM)chNumber); SendMessage(hwnd,SCI_SETSEL,iSelStart,iSelStart+lstrlenA(chNumber)); } @@ -2315,10 +2316,10 @@ void EditModifyNumber(HWND hwnd,BOOL bIncrease) { } } if (bUppercase) - wsprintfA(chFormat,"%%#0%iX",iWidth); + StringCchPrintfA(chFormat,COUNTOF(chFormat),"%%#0%iX",iWidth); else - wsprintfA(chFormat,"%%#0%ix",iWidth); - wsprintfA(chNumber,chFormat,iNumber); + StringCchPrintfA(chFormat,COUNTOF(chFormat),"%%#0%ix",iWidth); + StringCchPrintfA(chNumber,COUNTOF(chNumber),chFormat,iNumber); SendMessage(hwnd,SCI_REPLACESEL,0,(LPARAM)chNumber); SendMessage(hwnd,SCI_SETSEL,iSelStart,iSelStart+lstrlenA(chNumber)); } @@ -3024,8 +3025,8 @@ void EditModifyLines(HWND hwnd,LPCWSTR pwszPrefix,LPCWSTR pwszAppend) if (bPrefixNum) { char tchFmt[64]; char tchNum[64]; - wsprintfA(tchFmt,"%%%s%ii",pszPrefixNumPad,iPrefixNumWidth); - wsprintfA(tchNum,tchFmt,iPrefixNum); + StringCchPrintfA(tchFmt,COUNTOF(tchFmt),"%%%s%ii",pszPrefixNumPad,iPrefixNumWidth); + StringCchPrintfA(tchNum,COUNTOF(tchNum),tchFmt,iPrefixNum); lstrcatA(mszInsert,tchNum); lstrcatA(mszInsert,mszPrefix2); iPrefixNum++; @@ -3044,8 +3045,8 @@ void EditModifyLines(HWND hwnd,LPCWSTR pwszPrefix,LPCWSTR pwszAppend) if (bAppendNum) { char tchFmt[64]; char tchNum[64]; - wsprintfA(tchFmt,"%%%s%ii",pszAppendNumPad,iAppendNumWidth); - wsprintfA(tchNum,tchFmt,iAppendNum); + StringCchPrintfA(tchFmt,COUNTOF(tchFmt),"%%%s%ii",pszAppendNumPad,iAppendNumWidth); + StringCchPrintfA(tchNum,COUNTOF(tchNum),tchFmt,iAppendNum); lstrcatA(mszInsert,tchNum); lstrcatA(mszInsert,mszAppend2); iAppendNum++; diff --git a/src/Edit.h b/src/Edit.h index e37346e9c..3afa38656 100644 --- a/src/Edit.h +++ b/src/Edit.h @@ -12,19 +12,21 @@ * * * * *******************************************************************************/ - +#pragma once +#ifndef _NP3_EDIT_H_ +#define _NP3_EDIT_H_ // extern "C" declarations of Scintilla functions BOOL Scintilla_RegisterClasses(void*); BOOL Scintilla_ReleaseResources(); - +#define FNDRPL_BUFFER 512 typedef struct _editfindreplace { - char szFind[512]; - char szReplace[512]; - char szFindUTF8[3*512]; - char szReplaceUTF8[3*512]; + char szFind[FNDRPL_BUFFER]; + char szReplace[FNDRPL_BUFFER]; + char szFindUTF8[3 * FNDRPL_BUFFER]; + char szReplaceUTF8[3 * FNDRPL_BUFFER]; UINT fuFlags; BOOL bTransformBS; BOOL bObsolete /* was bFindUp */; @@ -217,5 +219,6 @@ BOOL FileVars_IsValidEncoding(LPFILEVARS); int FileVars_GetEncoding(LPFILEVARS); +#endif //_NP3_EDIT_H_ /// End of Edit.h \\\ diff --git a/src/Helpers.c b/src/Helpers.c index 624d4bcc8..8d8bf7d9f 100644 --- a/src/Helpers.c +++ b/src/Helpers.c @@ -132,7 +132,7 @@ BOOL IniSectionSetString(LPWSTR lpCachedIniSection,LPCWSTR lpName,LPCWSTR lpStri while (*p) { p = StrEnd(p) + 1; } - wsprintf(tch,L"%s=%s",lpName,lpString); + StringCchPrintfW(tch,COUNTOF(tch),L"%s=%s",lpName,lpString); lstrcpy(p,tch); p = StrEnd(p) + 1; *p = 0; @@ -415,7 +415,7 @@ BOOL SetWindowTitle(HWND hwnd,UINT uIDAppName,BOOL bIsElevated,UINT uIDUntitled, if (lstrlen(lpszExcerpt)) { GetString(IDS_TITLEEXCERPT,szExcrptFmt,COUNTOF(szExcrptFmt)); - wsprintf(szExcrptQuot,szExcrptFmt,lpszExcerpt); + StringCchPrintfW(szExcrptQuot,COUNTOF(szExcrptQuot),szExcrptFmt,lpszExcerpt); StrCat(szTitle,szExcrptQuot); } @@ -869,7 +869,7 @@ int Toolbar_GetButtons(HWND hwnd,int cmdBase,LPWSTR lpszButtons,int cchButtons) for (i = 0; i < c; i++) { SendMessage(hwnd,TB_GETBUTTON,(WPARAM)i,(LPARAM)&tbb); - wsprintf(tchItem,L"%i ", + StringCchPrintfW(tchItem,COUNTOF(tchItem),L"%i ", (tbb.idCommand==0)?0:tbb.idCommand-cmdBase+1); lstrcat(tchButtons,tchItem); } @@ -1592,7 +1592,7 @@ BOOL SetDlgItemIntEx(HWND hwnd,int nIdItem,UINT uValue) { WCHAR szBuf[64]; - wsprintf(szBuf,L"%u",uValue); + StringCchPrintfW(szBuf,COUNTOF(szBuf),L"%u",uValue); FormatNumberStr(szBuf); return(SetDlgItemText(hwnd,nIdItem,szBuf)); @@ -1803,7 +1803,7 @@ BOOL MRU_Load(LPMRULIST pmru) { LoadIniSection(pmru->szRegKey,pIniSection,(int)LocalSize(pIniSection)/sizeof(WCHAR)); for (i = 0; i < pmru->iSize; i++) { - wsprintf(tchName,L"%.2i",i+1); + StringCchPrintfW(tchName,COUNTOF(tchName),L"%.2i",i+1); if (IniSectionGetString(pIniSection,tchName,L"",tchItem,COUNTOF(tchItem))) { /*if (pmru->iFlags & MRU_UTF8) { WCHAR wchItem[1024]; @@ -1829,7 +1829,7 @@ BOOL MRU_Save(LPMRULIST pmru) { for (i = 0; i < pmru->iSize; i++) { if (pmru->pszItems[i]) { - wsprintf(tchName,L"%.2i",i+1); + StringCchPrintfW(tchName,COUNTOF(tchName),L"%.2i",i+1); /*if (pmru->iFlags & MRU_UTF8) { WCHAR tchItem[1024]; WCHAR wchItem[1024];