if (WideCharToMultiByte(codepage, flags, &wch, 1, &outch, 1, NULL, &defaulted)
&& !defaulted)
{
- CString s = outch;
+ String s(1, outch);
return s;
}
lossy = TRUE;
}
/**
- * @brief Return encoding used for TCHAR & CString
+ * @brief Return encoding used for TCHAR & String
*/
void getInternalEncoding(UNICODESET * unicoding, int * codepage)
{
#ifdef UNICODE
// Convert input to Unicode, using specified codepage
- // TCHAR is wchar_t, so convert into CString (str)
+ // TCHAR is wchar_t, so convert into String (str)
DWORD flags = MB_ERR_INVALID_CHARS;
int wlen = len * 2 + 6;
String str;
if (!n)
{
int nsyserr = ::GetLastError();
- CString syserrstr = GetSysError(nsyserr);
+ String syserrstr = GetSysError(nsyserr);
delete [] wbuff;
dest[0] = '?';
return 1;
if (!n)
{
int nsyserr = ::GetLastError();
- CString syserrstr = GetSysError(nsyserr);
+ String syserrstr = GetSysError(nsyserr);
}
dest[n] = 0;
delete [] wbuff;
* @return SAVE_DONE or an error code (list in MergeDoc.h)
*/
int CDiffTextBuffer::SaveToFile (LPCTSTR pszFileName,
- BOOL bTempFile, CString & sError, PackingInfo * infoUnpacker /*= NULL*/,
+ BOOL bTempFile, String & sError, PackingInfo * infoUnpacker /*= NULL*/,
CRLFSTYLE nCrlfStyle /*= CRLF_STYLE_AUTOMATIC*/,
BOOL bClearModifiedFlag /*= TRUE*/ )
{
int LoadFromFile(LPCTSTR pszFileName, PackingInfo * infoUnpacker,
LPCTSTR filteredFilenames, BOOL & readOnly, CRLFSTYLE nCrlfStyle,
const FileTextEncoding & encoding, CString &sError);
- int SaveToFile (LPCTSTR pszFileName, BOOL bTempFile, CString & sError,
+ int SaveToFile (LPCTSTR pszFileName, BOOL bTempFile, String & sError,
PackingInfo * infoUnpacker = NULL, CRLFSTYLE nCrlfStyle = CRLF_STYLE_AUTOMATIC,
BOOL bClearModifiedFlag = TRUE );
ucr::UNICODESET getUnicoding() const { return m_encoding.m_unicoding; }
if (pnerr)
*pnerr = err;
#ifdef _DEBUG
- CString sysErr = GetSysError(err); // for debugging
+ String sysErr = GetSysError(err); // for debugging
#endif
return strTempPath.c_str(); // empty
}
if (pnerr)
*pnerr = err;
#ifdef _DEBUG
- CString sysErr = GetSysError(err); // for debugging
+ String sysErr = GetSysError(err); // for debugging
#endif
return _T("");
}
PackingInfo * tempPacker = NULL;
// write buffer out to temporary file
- CString sError;
+ String sError;
int retVal = buf.SaveToFile(filepath, TRUE, sError, tempPacker,
CRLF_STYLE_AUTOMATIC, FALSE);
* @sa CMergeDoc::DoSaveAs()
* @sa CMergeDoc::CDiffTextBuffer::SaveToFile()
*/
-BOOL CMergeDoc::TrySaveAs(CString &strPath, int &nSaveResult, CString & sError,
+BOOL CMergeDoc::TrySaveAs(CString &strPath, int &nSaveResult, String & sError,
int nBuffer, PackingInfo * pInfoTempUnpacker)
{
CString s;
}
else
{
- LangFormatString2(s, IDS_FILESAVE_FAILED, strPath, sError);
+ LangFormatString2(s, IDS_FILESAVE_FAILED, strPath, sError.c_str());
}
// SAVE_NO_FILENAME is temporarily used for scratchpad.
{
DiffFileInfo fileInfo;
CString strSavePath(szPath);
- CString sError;
BOOL bFileChanged = FALSE;
BOOL bApplyToAll = FALSE;
int nRetVal = -1;
(m_nBufferType[nBuffer] == BUFFER_UNNAMED))
nSaveErrorCode = SAVE_NO_FILENAME;
+ String sError;
if (nSaveErrorCode == SAVE_DONE)
// We have a filename, just try to save
nSaveErrorCode = pBuffer->SaveToFile(strSavePath, FALSE, sError, &infoTempUnpacker);
BOOL CMergeDoc::DoSaveAs(LPCTSTR szPath, BOOL &bSaveSuccess, int nBuffer)
{
CString strSavePath(szPath);
- CString sError;
// use a temp packer
// first copy the m_pInfoUnpacker
nSaveErrorCode = SAVE_NO_FILENAME;
// Loop until user succeeds saving or cancels
+ String sError;
do
result = TrySaveAs(strSavePath, nSaveErrorCode, sError, nBuffer, &infoTempUnpacker);
while (!result);
UniStdioFile file;
if (!file.Open(s, _T("wt")))
{
- ResMsgBox1(IDS_REPORT_ERROR, GetSysError(GetLastError()), MB_OK | MB_ICONSTOP);
+ String errMsg = GetSysError(GetLastError());
+ ResMsgBox1(IDS_REPORT_ERROR, errMsg.c_str(), MB_OK | MB_ICONSTOP);
return;
}
void CopyMultipleList(int srcPane, int dstPane, int firstDiff, int lastDiff);
BOOL SanityCheckDiff(DIFFRANGE dr);
bool ListCopy(int srcPane, int dstPane, int nDiff = -1, bool bGroupWithPrevious = false);
- BOOL TrySaveAs(CString &strPath, int &nLastErrorCode, CString & sError,
+ BOOL TrySaveAs(CString &strPath, int &nLastErrorCode, String & sError,
int nBuffer, PackingInfo * pInfoTempUnpacker);
BOOL DoSave(LPCTSTR szPath, BOOL &bSaveSuccess, int nBuffer);
BOOL DoSaveAs(LPCTSTR szPath, BOOL &bSaveSuccess, int nBuffer);
if (!ok)
{
int nerr = GetLastError();
- CString syserr = GetSysError(nerr);
+ String syserr = GetSysError(nerr);
}
return ok;
}
}
// Get user language description of error, if available
-CString GetSysError(int nerr)
+String GetSysError(int nerr)
{
LPVOID lpMsgBuf;
- CString str = _T("?");
+ String str = _T("?");
if (FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
int ResMsgBox1(UINT msgid, LPCTSTR arg, UINT nType = MB_OK, UINT nIDHelp = 0);
/** @brief Retrieve error description from Windows; uses FormatMessage */
-CString GetSysError(int nerr);
+String GetSysError(int nerr);
/** @brief Send message to log file (in theory; actually doesn't yet) */
void LogErrorString(LPCTSTR sz);
msg.Format(_T("CMainFrame::ReLinkVCProj() ")
_T("- failed to open file: %s"), strSavePath);
LogErrorString(msg);
- LangFormatString2(msg, IDS_ERROR_FILEOPEN,
- GetSysError(GetLastError()), strSavePath);
+ String errMsg = GetSysError(GetLastError());
+ LangFormatString2(msg, IDS_ERROR_FILEOPEN, errMsg.c_str(), strSavePath);
*psError = msg;
}
if (tfile == INVALID_HANDLE_VALUE)
msg.Format(_T("CMainFrame::ReLinkVCProj() ")
_T("- failed to open temporary file: %s"), tempFile.c_str());
LogErrorString(msg);
- LangFormatString2(msg, IDS_ERROR_FILEOPEN,
- GetSysError(GetLastError()), tempFile.c_str());
+ String errMsg = GetSysError(GetLastError());
+ LangFormatString2(msg, IDS_ERROR_FILEOPEN, errMsg.c_str(), tempFile.c_str());
*psError = msg;
}
return FALSE;
{
if (!CopyFile(tempFile.c_str(), strSavePath, FALSE))
{
- *psError = GetSysError(GetLastError());
+ *psError = GetSysError(GetLastError()).c_str();
DeleteFile(tempFile.c_str());
return FALSE;
}
else
{
CString msg;
- LangFormatString2(msg, IDS_ERROR_FILEOPEN,
- strSavePath, GetSysError(GetLastError()));
+ String errMsg = GetSysError(GetLastError());
+ LangFormatString2(msg, IDS_ERROR_FILEOPEN, strSavePath, errMsg.c_str());
*psError = msg;
return FALSE;
}