From: Kimmo Varis Date: Mon, 30 Jul 2007 15:17:11 +0000 (+0000) Subject: PATCH: [ 1763070 ] Convert (Diff)FileInfo to use String X-Git-Tag: 2.16.5~4140 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=aff54a6ae63f635f7cb779b26a2552b2056886ee;p=winmerge-jp%2Fwinmerge-jp.git PATCH: [ 1763070 ] Convert (Diff)FileInfo to use String --- diff --git a/Src/DiffContext.cpp b/Src/DiffContext.cpp index cba6487dd..45470b9bf 100644 --- a/Src/DiffContext.cpp +++ b/Src/DiffContext.cpp @@ -29,6 +29,7 @@ #include "stdafx.h" #include +#include "UnicodeString.h" #include "Merge.h" #include "CompareOptions.h" #include "CompareStats.h" @@ -168,14 +169,15 @@ void CDiffContext::UpdateStatusFromDisk(POSITION diffpos, BOOL bLeft, BOOL bRigh */ BOOL CDiffContext::UpdateInfoFromDiskHalf(DIFFITEM & di, BOOL bLeft) { - CString filepath - ( - bLeft == TRUE - ? paths_ConcatPath(di.getLeftFilepath(GetNormalizedLeft()), di.sLeftFilename) - : paths_ConcatPath(di.getRightFilepath(GetNormalizedRight()), di.sRightFilename) - ); + CString filepath; + + if (bLeft == TRUE) + filepath = paths_ConcatPath(di.getLeftFilepath(GetNormalizedLeft()), di.sLeftFilename); + else + filepath = paths_ConcatPath(di.getRightFilepath(GetNormalizedRight()), di.sRightFilename); + DiffFileInfo & dfi = bLeft ? di.left : di.right; - if (!dfi.Update(filepath)) + if (!dfi.Update((LPCTSTR)filepath)) return FALSE; UpdateVersion(di, bLeft); GuessCodepageEncoding(filepath, &dfi.encoding, m_bGuessEncoding); diff --git a/Src/DiffFileInfo.h b/Src/DiffFileInfo.h index f3a64833f..200a9364b 100644 --- a/Src/DiffFileInfo.h +++ b/Src/DiffFileInfo.h @@ -19,7 +19,7 @@ * * @brief Declaration file for DiffFileInfo */ -// RCS ID line follows -- this is updated by CVS +// ID line follows -- this is updated by SVN // $Id$ #ifndef _DIFF_FILE_INFO_H_INCLUDED @@ -46,9 +46,9 @@ struct DiffFileFlags : public FileFlags DiffFileFlags() : coding(0) { FileFlags(); } /// Convert flags and coding to string for UI. - CString toString() const + String toString() const { - CString sflags; + String sflags; if (attributes & FILE_ATTRIBUTE_READONLY) sflags += _T("R"); if (attributes & FILE_ATTRIBUTE_HIDDEN) diff --git a/Src/DirViewColItems.cpp b/Src/DirViewColItems.cpp index 8173793f7..c0a735536 100644 --- a/Src/DirViewColItems.cpp +++ b/Src/DirViewColItems.cpp @@ -5,7 +5,7 @@ * * @date Created: 2003-08-19 */ -// RCS ID line follows -- this is updated by CVS +// ID line follows -- this is updated by SVN // $Id$ @@ -344,7 +344,7 @@ static CString GetVersion(const CDiffContext * pCtxt, const DIFFITEM * pdi, BOOL { pCtxt->UpdateVersion(di, bLeft); } - return dfi.version; + return dfi.version.c_str(); } static CString ColLversionGet(const CDiffContext * pCtxt, const void *p) { @@ -412,7 +412,7 @@ static CString ColBinGet(const CDiffContext *, const void *p) static CString ColAttrGet(const CDiffContext *, const void *p) { const DiffFileFlags &r = *static_cast(p); - return r.toString(); + return r.toString().c_str(); } static CString ColEncodingGet(const CDiffContext *, const void *p) { @@ -555,7 +555,7 @@ static int ColAttrSort(const CDiffContext *, const void *p, const void *q) { const DiffFileFlags &r = *static_cast(p); const DiffFileFlags &s = *static_cast(q); - return r.toString().Compare(s.toString()); + return r.toString().compare(s.toString().c_str()); } static int ColEncodingSort(const CDiffContext *, const void *p, const void *q) { diff --git a/Src/FileFilterHelper.cpp b/Src/FileFilterHelper.cpp index 7273f23f4..ea7a3647d 100644 --- a/Src/FileFilterHelper.cpp +++ b/Src/FileFilterHelper.cpp @@ -19,7 +19,7 @@ * * @brief Implementation file for FileFilterHelper class */ -// RCS ID line follows -- this is updated by CVS +// ID line follows -- this is updated by SVN // $Id$ #include "stdafx.h" @@ -472,7 +472,7 @@ void FileFilterHelper::ReloadUpdatedFilters() CString path = filter.fullpath; fileInfoStored = &filter.fileinfo; - fileInfo.Update(path); + fileInfo.Update((LPCTSTR)path); if (fileInfo.mtime != fileInfoStored->mtime || fileInfo.size != fileInfoStored->size) { diff --git a/Src/FileInfo.cpp b/Src/FileInfo.cpp index af60604f2..a2d9197f0 100644 --- a/Src/FileInfo.cpp +++ b/Src/FileInfo.cpp @@ -19,12 +19,13 @@ * * @brief Implementation for FileInfo routines */ -// RCS ID line follows -- this is updated by CVS +// ID line follows -- this is updated by SVN // $Id$ #include "stdafx.h" #include #include +#include "UnicodeString.h" #include "FileInfo.h" /** @@ -32,7 +33,7 @@ * @param [in] sFilePath Full path to file/directory to update * @return TRUE if information was updated (item was found). */ -BOOL FileInfo::Update(const CString &sFilePath) +BOOL FileInfo::Update(const String &sFilePath) { struct _stati64 fstats; __int64 mtime64 = 0; @@ -42,7 +43,7 @@ BOOL FileInfo::Update(const CString &sFilePath) flags.reset(); mtime = 0; - if (_tstati64(sFilePath, &fstats) == 0) + if (_tstati64(sFilePath.c_str(), &fstats) == 0) { // There can be files without modification date. // Then we must use creation date. Of course we assume @@ -56,7 +57,7 @@ BOOL FileInfo::Update(const CString &sFilePath) if ((fstats.st_mode & _S_IFDIR) == 0) size = fstats.st_size; - flags.attributes = GetFileAttributes(sFilePath); + flags.attributes = GetFileAttributes(sFilePath.c_str()); retVal = TRUE; } @@ -72,6 +73,6 @@ void FileInfo::Clear() ctime = 0; mtime = 0; size = -1; - version.Empty(); + version.clear(); flags.reset(); } diff --git a/Src/FileInfo.h b/Src/FileInfo.h index 6c202e3e8..3b4a38a05 100644 --- a/Src/FileInfo.h +++ b/Src/FileInfo.h @@ -19,12 +19,14 @@ * * @brief Declaration file for FileInfo */ -// RCS ID line follows -- this is updated by CVS +// ID line follows -- this is updated by SVN // $Id$ #ifndef _FILE_INFO_H_INCLUDED #define _FILE_INFO_H_INCLUDED +#include "UnicodeString.h" + /** * @brief Class for fileflags. */ @@ -46,11 +48,11 @@ struct FileInfo __int64 ctime; /**< time of creation */ __int64 mtime; /**< time of last modify */ __int64 size; /**< file size in bytes, -1 means file does not exist*/ - CString version; /**< string of fixed file version, eg, 1.2.3.4 */ + String version; /**< string of fixed file version, eg, 1.2.3.4 */ FileFlags flags; /**< file attributes */ FileInfo() { Clear(); } - BOOL Update(const CString &sFilePath); + BOOL Update(const String &sFilePath); void Clear(); }; diff --git a/Src/MergeDoc.cpp b/Src/MergeDoc.cpp index 618d98018..34570f89b 100644 --- a/Src/MergeDoc.cpp +++ b/Src/MergeDoc.cpp @@ -531,8 +531,8 @@ int CMergeDoc::Rescan(BOOL &bBinary, BOOL &bIdentical, GetParentFrame()->SetLastCompareResult(m_diffList.GetSignificantDiffs()); - m_pRescanFileInfo[0]->Update(m_filePaths.GetLeft()); - m_pRescanFileInfo[1]->Update(m_filePaths.GetRight()); + m_pRescanFileInfo[0]->Update((LPCTSTR)m_filePaths.GetLeft()); + m_pRescanFileInfo[1]->Update((LPCTSTR)m_filePaths.GetRight()); if (bLeftFileChanged) { @@ -1197,8 +1197,8 @@ BOOL CMergeDoc::DoSave(LPCTSTR szPath, BOOL &bSaveSuccess, int nBuffer) if (nSaveErrorCode == SAVE_DONE) { m_ptBuf[nBuffer]->SetModified(FALSE); - m_pSaveFileInfo[nBuffer]->Update(strSavePath); - m_pRescanFileInfo[nBuffer]->Update(m_filePaths.GetPath(nBuffer)); + m_pSaveFileInfo[nBuffer]->Update((LPCTSTR)strSavePath); + m_pRescanFileInfo[nBuffer]->Update((LPCTSTR)m_filePaths.GetPath(nBuffer)); m_filePaths.SetPath(nBuffer, strSavePath); UpdateHeaderPath(nBuffer); bSaveSuccess = TRUE; @@ -1259,8 +1259,8 @@ BOOL CMergeDoc::DoSaveAs(LPCTSTR szPath, BOOL &bSaveSuccess, int nBuffer) // Saving succeeded with given/selected filename if (nSaveErrorCode == SAVE_DONE) { - m_pSaveFileInfo[nBuffer]->Update(strSavePath); - m_pRescanFileInfo[nBuffer]->Update(m_filePaths.GetPath(nBuffer)); + m_pSaveFileInfo[nBuffer]->Update((LPCTSTR)strSavePath); + m_pRescanFileInfo[nBuffer]->Update((LPCTSTR)m_filePaths.GetPath(nBuffer)); m_filePaths.SetPath(nBuffer, strSavePath); UpdateHeaderPath(nBuffer); bSaveSuccess = TRUE; @@ -2752,8 +2752,8 @@ OPENRESULTS_TYPE CMergeDoc::OpenDocs(FileLocation filelocLeft, FileLocation file GetMainFrame()->m_strLeftDesc.Empty(); } - m_pSaveFileInfo[0]->Update(sLeftFile); - m_pRescanFileInfo[0]->Update(sLeftFile); + m_pSaveFileInfo[0]->Update((LPCTSTR)sLeftFile); + m_pRescanFileInfo[0]->Update((LPCTSTR)sLeftFile); // Load left side file nLeftSuccess = LoadFile(sLeftFile, 0, bROLeft, filelocLeft.encoding.m_codepage); @@ -2780,8 +2780,8 @@ OPENRESULTS_TYPE CMergeDoc::OpenDocs(FileLocation filelocLeft, FileLocation file GetMainFrame()->m_strRightDesc.Empty(); } - m_pSaveFileInfo[1]->Update(sRightFile); - m_pRescanFileInfo[1]->Update(sRightFile); + m_pSaveFileInfo[1]->Update((LPCTSTR)sRightFile); + m_pRescanFileInfo[1]->Update((LPCTSTR)sRightFile); if (FileLoadResult::IsOk(nLeftSuccess) || FileLoadResult::IsBinary(nLeftSuccess)) { nRightSuccess = LoadFile(sRightFile, 1, bRORight, filelocRight.encoding.m_codepage);