Src: DiffContext.h DiffWrapper.cpp DiffWrapper.h DirDoc.cpp DirScan.cpp Merge.dsp
Src new files: ByteComparator.cpp ByteComparator.h
UINT m_msgUpdateStatus;
HWND m_hDirFrame;
BOOL m_bGuessEncoding;
+ int m_nCompMethod;
struct dirdata ddLeft, ddRight;
char *pNamesLeft;
#include "LogFile.h"
#include "codepage.h"
#include <shlwapi.h>
+#include "ByteComparator.h"
extern int recursive;
extern CLogFile gLog;
}
/** @brief Compare two specified files */
-int DiffFileData::just_compare_files(int depth)
+int DiffFileData::diffutils_compare_files(int depth)
{
int bin_flag = 0;
// affects behavior (also, we don't have an icon for unknown type)
// Actually compare the files
- // just_compare_files is a fairly thin front-end to diffutils
+ // diffutils_compare_files is a fairly thin front-end to diffutils
if (filepathTransformed1 != filepathUnpacked1 || filepathTransformed2 != filepathUnpacked2)
{
//diffdata.m_sFilepath[0] = filepathTransformed1;
goto exitPrepAndCompare;
}
- code = just_compare_files(0);
+
+ if (pCtxt->m_nCompMethod == 0)
+ {
+ // use diffutils
+ code = diffutils_compare_files(0);
+ }
+ else
+ {
+ // use our own byte-by-byte compare
+ code = byte_compare_files();
+ }
if ((code & DIFFCODE::CMPERR) == 0)
{
return bRet;
}
+struct FileHandle
+{
+ FileHandle() : m_fp(0) { }
+ void Assign(FILE * fp) { Close(); m_fp = fp; }
+ void Close() { if (m_fp) { fclose(m_fp); m_fp = 0; } }
+ ~FileHandle() { Close(); }
+ FILE * m_fp;
+};
+
+// TODO: Increase WMCMPBUFF (it is set low to help shake out bugs)
+#define WMCMPBUFF 64
+
+/** @brief Compare two specified files, byte-by-byte */
+int DiffFileData::byte_compare_files()
+{
+ // Close any descriptors open for diffutils
+ Reset();
+
+ // TODO
+ // Right now, we assume files are in 8-bit encoding
+ // because transform code converted any UCS-2 files to UTF-8
+ // We could compare directly in UCS-2LE here, as an optimization, in that case
+ char buff[2][WMCMPBUFF]; // buffered access to files
+ FILE * fp[2]; // for files to compare
+ FileHandle fhd[2]; // to ensure file handles fp get closed
+ int i;
+
+ // Open both files
+ for (i=0; i<2; ++i)
+ {
+ fp[i] = _tfopen(m_sFilepath[i], _T("r"));
+ if (!fp[i])
+ return DIFFCODE::CMPERR;
+ fhd[i].Assign(fp[i]);
+ }
+
+ int bfstart[2], bfend[2]; // area of buffer currently holding data
+ bool eof[2]; // if we've finished file
+
+ // initialize our buffer pointers and end of file flags
+ for (i=0; i<2; ++i)
+ {
+ bfstart[i] = bfend[i] = 0;
+ eof[i] = false;
+ }
+
+ ByteComparator comparator(ignore_case_flag, ignore_space_change_flag
+ , ignore_all_space_flag, ignore_eol_diff, ignore_blank_lines_flag);
+
+ while (1)
+ {
+ // load or update buffers as appropriate
+ for (i=0; i<2; ++i)
+ {
+ if (!eof[i] && bfstart[i]==countof(buff[i]))
+ {
+ bfstart[i]=bfend[i] = 0;
+ }
+ if (!eof[i] && bfend[i]<countof(buff[i])-1)
+ {
+ int rtn = fread(buff[i], 1, countof(buff[i]), fp[i]);
+ if (ferror(fp[i]))
+ return DIFFCODE::CMPERR;
+ if (feof(fp[i]))
+ eof[i] = true;
+ bfend[i] += rtn;
+ }
+ }
+
+ // where to start comparing right now
+ LPCSTR ptr0 = &buff[0][bfstart[0]];
+ LPCSTR ptr1 = &buff[1][bfstart[1]];
+
+ // remember where we started
+ LPCSTR orig0 = ptr0, orig1 = ptr1;
+
+ // how far can we go right now?
+ LPCSTR end0 = &buff[0][bfend[0]];
+ LPCSTR end1 = &buff[1][bfend[1]];
+
+ // are these two buffers the same?
+ if (!comparator.CompareBuffers(ptr0, ptr1, end0, end1, eof[0], eof[1]))
+ return DIFFCODE::DIFF;
+
+
+ // did we finish both files?
+ if (eof[0] && eof[1])
+ {
+ if (ptr0 == end0 && ptr1 == end1)
+ return DIFFCODE::SAME;
+ else
+ return DIFFCODE::DIFF;
+ }
+
+ // move our current pointers over what we just compared
+ ASSERT(ptr0 >= orig0);
+ ASSERT(ptr1 >= orig1);
+ bfstart[0] += ptr0-orig0;
+ bfstart[1] += ptr1-orig1;
+ }
+}
void Reset();
void Close() { Reset(); }
- int just_compare_files(int depth);
+ int diffutils_compare_files(int depth);
+ int byte_compare_files();
void GuessEncoding(int side, CDiffContext * pCtxt);
int prepAndCompareTwoFiles(CDiffContext * pCtxt, const CString & filepath1, const CString & filepath2);
BOOL Diff2Files(struct change ** diffs, int depth,
m_pCtxt->m_hDirFrame = pf->GetSafeHwnd();
m_pCtxt->m_msgUpdateStatus = MSG_STAT_UPDATE;
m_pCtxt->m_bGuessEncoding = mf->m_options.GetBool(OPT_CP_DETECT);
+ m_pCtxt->m_nCompMethod = mf->m_nCompMethod;
UpdateHeaderPath(TRUE);
UpdateHeaderPath(FALSE);
// draw the headers as active ones
#include "logfile.h"
#include "paths.h"
#include "FileTransform.h"
-#include "mainfrm.h"
#include "codepage.h"
#ifdef _DEBUG
nDiffCode |= DIFFCODE::SKIPPED;
StoreDiffResult(subdir, &leftFiles[i], 0, nDiffCode, pCtxt);
}
- else if (mf->m_nCompMethod != 1)
+ else if (pCtxt->m_nCompMethod != 1)
{
// Compare file to itself to detect encoding
CString filepath = sLeftDir + backslash + leftFiles[i].name;
nDiffCode |= DIFFCODE::SKIPPED;
StoreDiffResult(subdir, 0, &rightFiles[j], nDiffCode, pCtxt);
}
- else if (mf->m_nCompMethod != 1)
+ else if (pCtxt->m_nCompMethod != 1)
{
// Compare file to itself to detect encoding
CString filepath = sRightDir + backslash + rightFiles[j].name;
gLog.Write(_T("Comparing: n0=%s, n1=%s, d0=%s, d1=%s"),
leftname, rightname, (LPCTSTR)sLeftDir, (LPCTSTR)sRightDir);
- if (mf->m_nCompMethod == 1)
+ if (pCtxt->m_nCompMethod == 1)
{
// Compare only by modified date
if (leftFiles[i].mtime == rightFiles[j].mtime)
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Contents"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Modified date"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Ñúäúðæàíèå"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Ïðîìåíåíà äàòà"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Contingut"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Data de modificació"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Contents"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Modified date"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Contents"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Modified date"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Contents"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Modified date"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Indhold"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Ændringsdato"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Contents"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Modified date"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Contenu"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Date de modification"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Inhalt"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Änderungsdatum"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Tartalom"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Módosítási dátum"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Contenuti"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Data ultima modifica"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "\93à\97e"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "\8dX\90V\93ú\8e\9e"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "³»¿ë"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "º¯°æµÈ ³¯Â¥"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Innhold"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Endringsdato"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Contents"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Modified date"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Ïî ñîäåðæèìîìó"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Ïî ðàçëè÷èÿì â äàòå"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Contents"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Modified date"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Contents"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Modified date"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Innehåll"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
IDS_COMPMETHOD_MODDATE "Datum för förändring"
END
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449
# ADD LINK32 version.lib shlwapi.lib imm32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"msvcrtd.lib" /out:"..\Build\MergeRelease/WinMerge.exe" /verbose:lib
# SUBTRACT LINK32 /pdb:none
# Begin Special Build Tool
-TargetPath=\WinMerge\WinMerge_CVS\WinMerge\Build\MergeRelease\WinMerge.exe
+TargetPath=\dev\sf\wm\cvsver\WinMerge\Build\MergeRelease\WinMerge.exe
SOURCE="$(InputPath)"
PostBuild_Cmds=StampVer -vstampver.inf -i4 -j4 -o2 $(TargetPath)
# End Special Build Tool
# ADD LINK32 version.lib shlwapi.lib imm32.lib /nologo /entry:"wWinMainCRTStartup" /subsystem:windows /debug /machine:I386 /nodefaultlib:"msvcrtd.lib" /out:"..\Build\MergeUnicodeRelease\WinMergeU.exe" /verbose:lib
# SUBTRACT LINK32 /pdb:none
# Begin Special Build Tool
-TargetPath=\WinMerge\WinMerge_CVS\WinMerge\Build\MergeUnicodeRelease\WinMergeU.exe
+TargetPath=\dev\sf\wm\cvsver\WinMerge\Build\MergeUnicodeRelease\WinMergeU.exe
SOURCE="$(InputPath)"
PostBuild_Cmds=StampVer -vstampver.inf -i4 -j4 -o2 $(TargetPath)
# End Special Build Tool
# End Source File
# Begin Source File
+SOURCE=.\ByteComparator.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\CCPrompt.cpp
# End Source File
# Begin Source File
+SOURCE=.\charsets.c
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
SOURCE=.\ChildFrm.cpp
!IF "$(CFG)" == "Merge - Win32 Debug"
# End Source File
# Begin Source File
+SOURCE=.\markdown.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
SOURCE=.\Merge.cpp
!IF "$(CFG)" == "Merge - Win32 Debug"
# End Source File
# Begin Source File
-SOURCE=.\charsets.c
-# SUBTRACT CPP /YX /Yc /Yu
-# End Source File
-# Begin Source File
-
-SOURCE=.\markdown.cpp
-# SUBTRACT CPP /YX /Yc /Yu
-# End Source File
-# Begin Source File
-
SOURCE=.\PluginManager.cpp
# End Source File
# Begin Source File
# End Source File
# Begin Source File
+SOURCE=.\ByteComparator.h
+# End Source File
+# Begin Source File
+
SOURCE=.\CCPrompt.h
# End Source File
# Begin Source File
+SOURCE=.\charsets.h
+# End Source File
+# Begin Source File
+
SOURCE=.\ChildFrm.h
# End Source File
# Begin Source File
# End Source File
# Begin Source File
+SOURCE=.\markdown.h
+# End Source File
+# Begin Source File
+
SOURCE=.\Merge.h
# End Source File
# Begin Source File
# End Source File
# Begin Source File
-SOURCE=.\charsets.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\markdown.h
-# End Source File
-# Begin Source File
-
SOURCE=.\PluginManager.h
# End Source File
# Begin Source File
# End Source File
# End Target
# End Project
-# Section Merge : {00312E6C-0754-0055-90BD-550078075500}
-# 1:19:IDR_POPUP_ABOUT_DLG:104
-# End Section
# Section Merge : {6F747475-446E-6C62-436C-6B0000003100}
# 1:10:IDB_SPLASH:103
# 2:21:SplashScreenInsertKey:4.0
# End Section
+# Section Merge : {00312E6C-0754-0055-90BD-550078075500}
+# 1:19:IDR_POPUP_ABOUT_DLG:104
+# End Section
// COMPARE OPTIONS
STRINGTABLE
BEGIN
- IDS_COMPMETHOD_CONTENTS "Contents"
- IDS_COMPMETHOD_MODDATE "Modified date"
+ IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
+ IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
+ IDS_COMPMETHOD_MODDATE "Modified Date"
END
// FILTER OPTIONS
CComboBox * combo = (CComboBox*) GetDlgItem(IDC_COMPAREMETHODCOMBO);
CString item;
- VERIFY(item.LoadString(IDS_COMPMETHOD_CONTENTS));
+ VERIFY(item.LoadString(IDS_COMPMETHOD_FULL_CONTENTS));
+ combo->AddString(item);
+ VERIFY(item.LoadString(IDS_COMPMETHOD_QUICK_CONTENTS));
combo->AddString(item);
VERIFY(item.LoadString(IDS_COMPMETHOD_MODDATE));
combo->AddString(item);
Merge all the easy new Japanese string translations
(Omit major changes to IDD_PROPPAGE_EDITOR & IDD_MERGE7ZMISMATCH.
Languages: Japanese/MergeJapanese.rc
+ PATCH: [ 1112871 ] new byte_compare function to bypass diffutils
+ Src: DiffContext.h DiffWrapper.cpp DiffWrapper.h DirDoc.cpp DirScan.cpp Merge.dsp
+ Src new files: ByteComparator.cpp ByteComparator.h
2005-03-04 Kimmo
PATCH: [ 1155319 ] Select font for dir compare view
#define IDS_PROJECTFILES 16419
#define IDS_PROJECTFILES_EXT 16420
-#define IDS_COMPMETHOD_CONTENTS 16432
-#define IDS_COMPMETHOD_MODDATE 16433
+#define IDS_COMPMETHOD_FULL_CONTENTS 16432
+#define IDS_COMPMETHOD_QUICK_CONTENTS 16433
+#define IDS_COMPMETHOD_MODDATE 16434
#define IDS_FILTERFILE_NAMETITLE 16448
#define IDS_FILTERFILE_PATHTITLE 16449