diff --git a/src/Edit.c b/src/Edit.c index 2d7eec687..dd5c92df1 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -63,7 +63,6 @@ extern BOOL bAutoStripBlanks; // Default Codepage and Character Set -extern int iSciDefaultCodePage; extern int iDefaultCharSet; extern BOOL bSkipUnicodeDetection; extern BOOL bLoadASCIIasUTF8; @@ -314,7 +313,7 @@ void EditInitWordDelimiter(HWND hwnd) if (lstrlen(buffer) == 0) StringCchCopyA(whitesp,COUNTOF(whitesp),PunctuationCharsDefault); else - WCHAR2MBCS(CP_ACP,buffer,whitesp,COUNTOF(whitesp)); + WideCharToMultiByteStrg(CP_ACP,buffer,whitesp); // add only 7-bit-ASCII chars to accelerate whitespace list for (size_t i = 0; i < strlen(whitesp); i++) { if (whitesp[i] & 0x7F) { @@ -769,7 +768,7 @@ void Encoding_GetLabel(int iEncoding) { int Encoding_MatchW(LPCWSTR pwszTest) { char tchTest[256] = { '\0' }; - WideCharToMultiByte(CP_ACP,0,pwszTest,-1,tchTest,COUNTOF(tchTest),NULL,NULL); + WideCharToMultiByteStrg(CP_ACP,pwszTest,tchTest); return(Encoding_MatchA(tchTest)); } @@ -2265,7 +2264,7 @@ void EditChar2Hex(HWND hwnd) { else { UINT cp = Encoding_SciGetCodePage(hwnd); - MultiByteToWideChar(cp,0,ch,-1,wch,COUNTOF(wch)); + MultiByteToWideCharStrg(cp,ch,wch); if (wch[0] <= 0xFF) StringCchPrintfA(ch,COUNTOF(ch),"\\x%02X",wch[0] & 0xFF); else @@ -2326,7 +2325,7 @@ void EditHex2Char(HWND hwnd) { UINT cp = Encoding_SciGetCodePage(hwnd); WCHAR wch[4]; StringCchPrintf(wch,COUNTOF(wch),L"%lc",(WCHAR)i); - cch = WideCharToMultiByte(cp,0,wch,-1,ch,COUNTOF(ch),NULL,NULL) - 1; + cch = WideCharToMultiByteStrg(cp,wch,ch) - 1; if (bTrySelExpand && (char)SendMessage(hwnd,SCI_GETCHARAT,(WPARAM)iSelStart-1,0) == '\\') { iSelStart--; } @@ -2932,9 +2931,9 @@ void EditModifyLines(HWND hwnd,LPCWSTR pwszPrefix,LPCWSTR pwszAppend) UINT mbcp = Encoding_SciGetCodePage(hwnd); if (lstrlen(pwszPrefix)) - WCHAR2MBCS(mbcp, pwszPrefix, mszPrefix1, COUNTOF(mszPrefix1)); + WideCharToMultiByteStrg(mbcp,pwszPrefix,mszPrefix1); if (lstrlen(pwszAppend)) - WCHAR2MBCS(mbcp, pwszAppend, mszAppend1, COUNTOF(mszAppend1)); + WideCharToMultiByteStrg(mbcp,pwszAppend,mszAppend1); if (SC_SEL_RECTANGLE != SendMessage(hwnd,SCI_GETSELECTIONMODE,0,0)) { @@ -3335,7 +3334,7 @@ void EditAlignText(HWND hwnd,int nMode) p = StrEnd(p); } - WideCharToMultiByte(mbcp,0,wchNewLineBuf,-1,tchLineBuf,COUNTOF(tchLineBuf),NULL,NULL); + WideCharToMultiByteStrg(mbcp,wchNewLineBuf,tchLineBuf); iPos = (int)SendMessage(hwnd,SCI_POSITIONFROMLINE,(WPARAM)iLine,0); SendMessage(hwnd,SCI_SETTARGETSTART,(WPARAM)iPos,0); @@ -3361,7 +3360,7 @@ void EditAlignText(HWND hwnd,int nMode) p = StrEnd(p); } - WideCharToMultiByte(mbcp,0,wchNewLineBuf,-1,tchLineBuf,COUNTOF(tchLineBuf),NULL,NULL); + WideCharToMultiByteStrg(mbcp,wchNewLineBuf,tchLineBuf); iPos = (int)SendMessage(hwnd,SCI_POSITIONFROMLINE,(WPARAM)iLine,0); SendMessage(hwnd,SCI_SETTARGETSTART,(WPARAM)iPos,0); @@ -3403,7 +3402,7 @@ void EditAlignText(HWND hwnd,int nMode) p = StrEnd(p); } - WideCharToMultiByte(mbcp,0,wchNewLineBuf,-1,tchLineBuf,COUNTOF(tchLineBuf),NULL,NULL); + WideCharToMultiByteStrg(mbcp,wchNewLineBuf,tchLineBuf); if (nMode == ALIGN_RIGHT || nMode == ALIGN_CENTER) { SendMessage(hwnd,SCI_SETLINEINDENTATION,(WPARAM)iLine,(LPARAM)iMinIndent); @@ -3459,9 +3458,9 @@ void EditEncloseSelection(HWND hwnd,LPCWSTR pwszOpen,LPCWSTR pwszClose) UINT mbcp = Encoding_SciGetCodePage(hwnd); if (lstrlen(pwszOpen)) - WideCharToMultiByte(mbcp,0,pwszOpen,-1,mszOpen,COUNTOF(mszOpen),NULL,NULL); + WideCharToMultiByteStrg(mbcp,pwszOpen,mszOpen); if (lstrlen(pwszClose)) - WideCharToMultiByte(mbcp,0,pwszClose,-1,mszClose,COUNTOF(mszClose),NULL,NULL); + WideCharToMultiByteStrg(mbcp,pwszClose,mszClose); if (SC_SEL_RECTANGLE != SendMessage(hwnd,SCI_GETSELECTIONMODE,0,0)) { diff --git a/src/Helpers.c b/src/Helpers.c index 306dee7ba..e4c1ae8e1 100644 --- a/src/Helpers.c +++ b/src/Helpers.c @@ -1615,21 +1615,21 @@ UINT GetDlgItemTextA2W(UINT uCP,HWND hDlg,int nIDDlgItem,LPSTR lpString,int nMax WCHAR wsz[1024] = L""; UINT uRet = GetDlgItemTextW(hDlg,nIDDlgItem,wsz,COUNTOF(wsz)); ZeroMemory(lpString,nMaxCount); - WCHAR2MBCS(uCP,wsz,lpString,nMaxCount-2); + WideCharToMultiByte(uCP,0,wsz,-1,lpString,nMaxCount - 2,NULL,NULL); return uRet; } UINT SetDlgItemTextA2W(UINT uCP,HWND hDlg,int nIDDlgItem,LPSTR lpString) { WCHAR wsz[1024] = L""; - MBCS2WCHAR(uCP,lpString,wsz,COUNTOF(wsz)); + MultiByteToWideCharStrg(uCP,lpString,wsz); return SetDlgItemTextW(hDlg,nIDDlgItem,wsz); } LRESULT ComboBox_AddStringA2W(UINT uCP,HWND hwnd,LPCSTR lpString) { WCHAR wsz[1024] = L""; - MBCS2WCHAR(uCP,lpString,wsz,COUNTOF(wsz)); + MultiByteToWideCharStrg(uCP,lpString,wsz); return SendMessageW(hwnd,CB_ADDSTRING,0,(LPARAM)wsz); } @@ -1814,7 +1814,7 @@ BOOL MRU_Load(LPMRULIST pmru) { if (IniSectionGetString(pIniSection,tchName,L"",tchItem,COUNTOF(tchItem))) { /*if (pmru->iFlags & MRU_UTF8) { WCHAR wchItem[1024]; - int cbw = MultiByteToWideChar(CP_UTF7,0,tchItem,-1,wchItem,COUNTOF(wchItem)); + int cbw = MultiByteToWideCharStrg(CP_UTF7,tchItem,wchItem); WideCharToMultiByte(CP_UTF8,0,wchItem,cbw,tchItem,COUNTOF(tchItem),NULL,NULL); pmru->pszItems[n++] = StrDup(tchItem); } @@ -1840,7 +1840,7 @@ BOOL MRU_Save(LPMRULIST pmru) { /*if (pmru->iFlags & MRU_UTF8) { WCHAR tchItem[1024]; WCHAR wchItem[1024]; - int cbw = MultiByteToWideChar(CP_UTF8,0,pmru->pszItems[i],-1,wchItem,COUNTOF(wchItem)); + int cbw = MultiByteToWideCharStrg(CP_UTF8,pmru->pszItems[i],wchItem); WideCharToMultiByte(CP_UTF7,0,wchItem,cbw,tchItem,COUNTOF(tchItem),NULL,NULL); IniSectionSetString(pIniSection,tchName,tchItem); } @@ -2178,7 +2178,7 @@ unsigned int UnSlash(char *s,UINT cpEdit) { } if (val[0]) { val[1] = 0; - WideCharToMultiByte(cpEdit,0,val,-1,ch,COUNTOF(ch),NULL,NULL); + WideCharToMultiByteStrg(cpEdit,val,ch); *o = *pch++; while (*pch) *++o = *pch++; diff --git a/src/Helpers.h b/src/Helpers.h index 581538f63..d937ff501 100644 --- a/src/Helpers.h +++ b/src/Helpers.h @@ -162,8 +162,8 @@ int FormatNumberStr(LPWSTR); BOOL SetDlgItemIntEx(HWND,int,UINT); -#define MBCS2WCHAR(c,a,w,i) MultiByteToWideChar((c),0,(a),-1,(w),(i)) -#define WCHAR2MBCS(c,w,a,i) WideCharToMultiByte((c),0,(w),-1,(a),(i),NULL,NULL) +#define MultiByteToWideCharStrg(c,a,w) MultiByteToWideChar((c),0,(a),-1,(w),COUNTOF(w)) +#define WideCharToMultiByteStrg(c,w,a) WideCharToMultiByte((c),0,(w),-1,(a),COUNTOF(a),NULL,NULL) UINT GetDlgItemTextA2W(UINT,HWND,int,LPSTR,int); diff --git a/src/Notepad3.c b/src/Notepad3.c index dcc628402..8d752c6cf 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -242,7 +242,6 @@ int iDefaultEncoding; int iSrcEncoding = -1; int iWeakSrcEncoding = -1; -int iSciDefaultCodePage; int iDefaultCharSet; int iEOLMode; @@ -985,8 +984,8 @@ HWND InitInstance(HINSTANCE hInstance,LPSTR pszCmdLine,int nCmdShow) if (lstrlen(lpMatchArg) && SendMessage(hwndEdit,SCI_GETLENGTH,0,0)) { UINT cp = Encoding_SciGetCodePage(hwndEdit); - WideCharToMultiByte(cp,0,lpMatchArg,-1,efrData.szFind,COUNTOF(efrData.szFind),NULL,NULL); - WideCharToMultiByte(CP_UTF8,0,lpMatchArg,-1,efrData.szFindUTF8,COUNTOF(efrData.szFindUTF8),NULL,NULL); + WideCharToMultiByteStrg(cp,lpMatchArg,efrData.szFind); + WideCharToMultiByteStrg(CP_UTF8,lpMatchArg,efrData.szFindUTF8); cpLastFind = cp; if (flagMatchText & 4) @@ -3482,7 +3481,7 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam) } UINT uCP = Encoding_SciGetCodePage(hwndEdit); - WideCharToMultiByte(uCP,0,tchDateTime,-1,mszBuf,COUNTOF(mszBuf),NULL,NULL); + WideCharToMultiByteStrg(uCP,tchDateTime,mszBuf); int token = BeginSelUndoAction(); SendMessage(hwndEdit,SCI_REPLACESEL,0,(LPARAM)mszBuf); EndSelUndoAction(token); @@ -3514,7 +3513,7 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam) } UINT uCP = Encoding_SciGetCodePage(hwndEdit); - WideCharToMultiByte(uCP,0,pszInsert,-1,mszBuf,COUNTOF(mszBuf),NULL,NULL); + WideCharToMultiByteStrg(uCP,pszInsert,mszBuf); int token = BeginSelUndoAction(); SendMessage(hwndEdit,SCI_REPLACESEL,0,(LPARAM)mszBuf); EndSelUndoAction(token); @@ -3534,7 +3533,7 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam) pwszGuid = wszGuid + 1; // trim first brace char wszGuid[wcslen(wszGuid) - 1] = L'\0'; // trim last brace char UINT uCP = Encoding_SciGetCodePage(hwndEdit); - if (WideCharToMultiByte(uCP,0,pwszGuid,-1,mszGuid,COUNTOF(mszGuid),NULL,NULL)) { + if (WideCharToMultiByteStrg(uCP,pwszGuid,mszGuid)) { int token = BeginSelUndoAction(); SendMessage(hwndEdit,SCI_REPLACESEL,0,(LPARAM)mszGuid); EndSelUndoAction(token); @@ -3885,11 +3884,11 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam) WCHAR wch[FNDRPL_BUFFER]; - MultiByteToWideChar(CP_UTF8,0,efrData.szFindUTF8,-1,wch,COUNTOF(wch)); - WideCharToMultiByte(cp,0,wch,-1,efrData.szFind,COUNTOF(efrData.szFind),NULL,NULL); + MultiByteToWideCharStrg(CP_UTF8,efrData.szFindUTF8,wch); + WideCharToMultiByteStrg(cp,wch,efrData.szFind); - MultiByteToWideChar(CP_UTF8,0,efrData.szReplaceUTF8,-1,wch,COUNTOF(wch)); - WideCharToMultiByte(cp,0,wch,-1,efrData.szReplace,COUNTOF(efrData.szReplace),NULL,NULL); + MultiByteToWideCharStrg(CP_UTF8,efrData.szReplaceUTF8,wch); + WideCharToMultiByteStrg(cp,wch,efrData.szReplace); } else { StringCchCopyA(efrData.szFind,COUNTOF(efrData.szFind),efrData.szFindUTF8); @@ -4761,8 +4760,8 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam) wcsftime(wchReplace,COUNTOF(wchReplace),wchTemplate,&sst); cp = Encoding_SciGetCodePage(hwndEdit); - WideCharToMultiByte(cp,0,wchFind,-1,efrTS.szFind,COUNTOF(efrTS.szFind),NULL,NULL); - WideCharToMultiByte(cp,0,wchReplace,-1,efrTS.szReplace,COUNTOF(efrTS.szReplace),NULL,NULL); + WideCharToMultiByteStrg(cp,wchFind,efrTS.szFind); + WideCharToMultiByteStrg(cp,wchReplace,efrTS.szReplace); if (!SendMessage(hwndEdit, SCI_GETSELECTIONEMPTY, 0, 0)) EditReplaceAllInSelection(hwndEdit,&efrTS,TRUE); @@ -4813,7 +4812,7 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam) WCHAR wszSelection[512] = { L'\0' }; UINT uCP = Encoding_SciGetCodePage(hwndEdit); - MultiByteToWideChar(uCP,0,mszSelection,-1,wszSelection,COUNTOF(wszSelection)); + MultiByteToWideCharStrg(uCP,mszSelection,wszSelection); int cmdsz = (512 + COUNTOF(szCmdTemplate) + MAX_PATH + 32); lpszCommand = GlobalAlloc(GPTR,sizeof(WCHAR)*cmdsz); @@ -4885,8 +4884,8 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam) { WCHAR wszBuf[FNDRPL_BUFFER]; - MultiByteToWideChar(cpLastFind,0,mszSelection,-1,wszBuf,COUNTOF(wszBuf)); - WideCharToMultiByte(CP_UTF8,0,wszBuf,-1,efrData.szFindUTF8,COUNTOF(efrData.szFindUTF8),NULL,NULL); + MultiByteToWideCharStrg(cpLastFind,mszSelection,wszBuf); + WideCharToMultiByteStrg(CP_UTF8,wszBuf,efrData.szFindUTF8); } else StringCchCopyA(efrData.szFindUTF8,COUNTOF(efrData.szFindUTF8),mszSelection); @@ -6039,7 +6038,7 @@ void LoadSettings() // define scintilla internal code page - iSciDefaultCodePage = SC_CP_UTF8; // default UTF8 + int iSciDefaultCodePage = SC_CP_UTF8; // default UTF8 if (iDefaultEncoding == CPI_ANSI_DEFAULT) { diff --git a/src/Styles.c b/src/Styles.c index 7a13658c1..a5cb5ab0e 100644 --- a/src/Styles.c +++ b/src/Styles.c @@ -3467,7 +3467,7 @@ void Style_SetLexerFromFile(HWND hwnd,LPCWSTR lpszFile) WCHAR wchMode[32] = { L'\0' }; PEDITLEXER pLexMode; UINT cp = Encoding_SciGetCodePage(hwnd); - MultiByteToWideChar(cp,0,fvCurFile.tchMode,-1,wchMode,COUNTOF(wchMode)); + MultiByteToWideCharStrg(cp,fvCurFile.tchMode,wchMode); if (!fNoCGIGuess && (lstrcmpi(wchMode,L"cgi") == 0 || lstrcmpi(wchMode,L"fcgi") == 0)) { char tchText[256] = { L'\0' }; @@ -4217,7 +4217,7 @@ void Style_SetStyles(HWND hwnd,int iStyle,LPCWSTR lpszStyle) // Font if (Style_StrGetFont(lpszStyle,tch,COUNTOF(tch))) { char mch[256] = { '\0' }; - WideCharToMultiByte(CP_UTF8,0,tch,-1,mch,COUNTOF(mch),NULL,NULL); + WideCharToMultiByteStrg(CP_UTF8,tch,mch); SendMessage(hwnd,SCI_STYLESETFONT,iStyle,(LPARAM)mch); }