OSDN Git Service

PATCH: [ 1717461 ] Use DisplayBinaryFiles plugin from WinMergeX
authorTim Gerundt <tim@gerundt.de>
Sat, 12 May 2007 11:26:28 +0000 (11:26 +0000)
committerTim Gerundt <tim@gerundt.de>
Sat, 12 May 2007 11:26:28 +0000 (11:26 +0000)
Plugins/Changes.txt
Plugins/dlls/DisplayBinaryFiles.dll
Plugins/src_VCPP/DisplayBinaryFiles/DisplayBinaryFiles.dsp
Plugins/src_VCPP/DisplayBinaryFiles/DisplayBinaryFiles.rc
Plugins/src_VCPP/DisplayBinaryFiles/WinMergeScript.cpp
Plugins/src_VCPP/DisplayBinaryFiles/typeinfoex.h

index 3619ad2..50d3bc6 100644 (file)
@@ -2,6 +2,13 @@ Plugins\Changes.txt
 Add new items to top
 (This summarizes all changes to all plugins.)
 
+2007-05-12 Tim
+ PATCH: [ 1717461 ] Use DisplayBinaryFiles plugin from WinMergeX
+  Plugins\dlls:
+   DisplayBinaryFiles.dll
+  Plugins\src_VCPP\DisplayBinaryFiles:
+   DisplayBinaryFiles.dsp DisplayBinaryFiles.rc typeinfoex. hWinMergeScript.cpp
+
 2007-03-29 Tim
  PATCH: [ 1690588 ] IgnoreLeadingLineNumbers plugin v1.1
   Plugins\dlls:
index c6e3f4c..0462f7e 100644 (file)
Binary files a/Plugins/dlls/DisplayBinaryFiles.dll and b/Plugins/dlls/DisplayBinaryFiles.dll differ
index f4515af..49a58f7 100644 (file)
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=xilink6.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"..\..\..\Build\MergeDebug/DisplayBinaryFiles.dll" /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"..\..\..\Build\MergeDebug\MergePlugins/DisplayBinaryFiles.dll" /pdbtype:sept
 
 !ELSEIF  "$(CFG)" == "DisplayBinaryFiles - Win32 Unicode Debug"
 
@@ -78,7 +78,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=xilink6.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"..\..\..\Build\MergeUnicodeDebug/DisplayBinaryFiles.dll" /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"..\..\..\Build\MergeUnicodeDebug\MergePlugins/DisplayBinaryFiles.dll" /pdbtype:sept
 
 !ELSEIF  "$(CFG)" == "DisplayBinaryFiles - Win32 Release MinSize"
 
@@ -102,7 +102,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=xilink6.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"..\..\..\Build\MergeReleaseMinSize/DisplayBinaryFiles.dll"
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"..\..\..\Build\MergeReleaseMinSize\MergePlugins/DisplayBinaryFiles.dll"
 
 !ELSEIF  "$(CFG)" == "DisplayBinaryFiles - Win32 Release MinDependency"
 
@@ -126,7 +126,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=xilink6.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"..\..\..\Build\MergeRelease/DisplayBinaryFiles.dll"
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"..\..\..\Build\MergeRelease\MergePlugins/DisplayBinaryFiles.dll"
 
 !ELSEIF  "$(CFG)" == "DisplayBinaryFiles - Win32 Unicode Release MinSize"
 
@@ -150,7 +150,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=xilink6.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"..\..\..\Build\MergeUnicodeReleaseMinSize/DisplayBinaryFiles.dll"
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"..\..\..\Build\MergeUnicodeReleaseMinSize\MergePlugins/DisplayBinaryFiles.dll"
 
 !ELSEIF  "$(CFG)" == "DisplayBinaryFiles - Win32 Unicode Release MinDependency"
 
@@ -174,7 +174,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=xilink6.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"..\..\..\Build\MergeUnicodeRelease/DisplayBinaryFiles.dll"
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"..\..\..\Build\MergeUnicodeRelease\MergePlugins/DisplayBinaryFiles.dll"
 
 !ENDIF 
 
index 5724891..6572f4e 100644 (file)
@@ -54,8 +54,8 @@ END
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,4,0
- PRODUCTVERSION 1,0,4,0
+ FILEVERSION 1,0,5,17115
+ PRODUCTVERSION 1,0,5,17115
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -72,12 +72,12 @@ BEGIN
         BEGIN
             VALUE "CompanyName", "\0"
             VALUE "FileDescription", "DisplayBinaryFiles Module\0"
-            VALUE "FileVersion", "1, 0, 4, 0\0"
+            VALUE "FileVersion", "1, 0, 5, 17115\0"
             VALUE "InternalName", "DisplayBinaryFiles\0"
-            VALUE "LegalCopyright", "Copyright 2003-2006\0"
+            VALUE "LegalCopyright", "Copyright 2003-2007\0"
             VALUE "OriginalFilename", "DisplayBinaryFiles.DLL\0"
             VALUE "ProductName", "DisplayBinaryFiles Module\0"
-            VALUE "ProductVersion", "1, 0, 4, 0\0"
+            VALUE "ProductVersion", "1, 0, 5, 17115\0"
             VALUE "OLESelfRegister", "\0"
         END
     END
index 7f52db1..008e861 100644 (file)
@@ -78,17 +78,35 @@ STDMETHODIMP CWinMergeScript::UnpackFile(BSTR fileSrc, BSTR fileDst, VARIANT_BOO
                if (beginning)
                {
                        if (CheckForBom(buffer, curlen, &uninfo))
-                       i += uninfo.bom_width;
+                               i += uninfo.bom_width;
                        beginning = false;
                }
+               char * p1 = (char *)buffer;
+               short * p2 = (short *)buffer;
+               int * p4 = (int *)buffer;
                for ( ; i < curlen ; i += uninfo.char_width)
                {
-                       int index = i+uninfo.low_byte;
-                       if (i+index < curlen && buffer[index] == 0)
+                       if (i + (uninfo.char_width-1) < curlen)
                        {
-                               buffer[index] = 0x20;
+                               int index = i/uninfo.char_width;
+                               if (uninfo.char_width == 1)
+                               {
+                                       if (p1[index] == 0)
+                                               p1[index] = 0x20;
+                               }
+                               else if (uninfo.char_width == 2)
+                               {
+                                       if (p2[index] == 0)
+                                               p2[index] = 0x20;
+                               }
+                               else // uninfo.char_width == 4
+                               {
+                                       if (p4[index] == 0)
+                                               p4[index] = 0x20;
+                               }
                        }
                }
+
                output.write(buffer, curlen);
                len -= curlen;
        }
index edac4d1..f5c1198 100644 (file)
@@ -89,7 +89,8 @@ public:
                        for (int i=0; i<(int)cNames; i++)
                        {
                                int n = ocslen(rgszNames[i]);
-                               for (int j=m_nCount-1; j>=0; j--)
+                               int j=0;
+                               for (j=m_nCount-1; j>=0; j--)
                                {
                                        if ((n == m_pMap[j].nLen) &&
                                                (memcmp(m_pMap[j].bstr, rgszNames[i], m_pMap[j].nLen * sizeof(OLECHAR)) == 0))
@@ -153,7 +154,7 @@ inline HRESULT CComTypeInfoHolderModule<nObtainMethod>::GetTI(LCID lcid)
     USES_CONVERSION;
        //If this assert occurs then most likely didn't initialize properly
        ATLASSERT(m_plibid != NULL && m_pguid != NULL);
-       ATLASSERT(!::InlineIsEqualGUID(*m_plibid, GUID_NULL) && "Did you forget to pass the LIBID to CComModule::Init?");
+       ATLASSERT(!InlineIsEqualGUID(*m_plibid, GUID_NULL) && "Did you forget to pass the LIBID to CComModule::Init?");
 
        if (m_pInfo != NULL)
                return S_OK;