OSDN Git Service
GreyMerlin [Thu, 11 Oct 2018 00:09:09 +0000 (17:09 -0700)]
Reorganize OpenView dialog (1)
* Same info, improved layout
GreyMerlin [Sat, 29 Sep 2018 05:56:24 +0000 (22:56 -0700)]
`BOOL` becomes `bool` and related (1)
* Retains `BOOL` where necessary for MFC or Win API interfaces
* Retains `BOOL` in `*.c` files (GNU diffutils, and others) as `bool` is unavailable
* Mostly retains `BOOL` in CrystalEdit and BCMenu related files
* Retains `BOOL` in Poco and Boost source files.
* Retains `BOOL` when used with values other than simply `TRUE` and `FALSE`, such as values of
`-1`, or with additional flag bits. These should be modernized with some future commits.
* Also `TRUE` becomes `true` and `FALSE` becomes `false` where appropriate.
Takashi Sawanaka [Thu, 11 Oct 2018 15:00:40 +0000 (00:00 +0900)]
CompareMSExcelFiles.sct: To avoid saving the extracted sheet data as a file name containing prohibited characters, change the name of the file name
Takashi Sawanaka [Thu, 11 Oct 2018 13:47:56 +0000 (22:47 +0900)]
Remove unused header file
Takashi Sawanaka [Thu, 11 Oct 2018 13:44:13 +0000 (22:44 +0900)]
EditorFilepathBar.cpp: Remove gaps
Takashi Sawanaka [Wed, 10 Oct 2018 23:10:48 +0000 (08:10 +0900)]
Update changelog for 2.15.5
Takashi Sawanaka [Wed, 10 Oct 2018 22:58:35 +0000 (07:58 +0900)]
BCMenu.cpp: Small optimization
Takashi Sawanaka [Wed, 10 Oct 2018 13:48:02 +0000 (22:48 +0900)]
Manual: Eliminate old Version Control feature
Takashi Sawanaka [Wed, 10 Oct 2018 13:25:52 +0000 (22:25 +0900)]
StdAfx.*: Improve CWinMergeProfile
Takashi Sawanaka [Wed, 10 Oct 2018 13:06:25 +0000 (22:06 +0900)]
CrystalEdit: An optimization for large text files
Takashi Sawanaka [Mon, 8 Oct 2018 11:35:55 +0000 (20:35 +0900)]
MergeEditView.*: Remove an unused function
Takashi Sawanaka [Mon, 8 Oct 2018 11:32:15 +0000 (20:32 +0900)]
MergeEditSplitterView.h: Fix mixed eol-style
Takashi Sawanaka [Sun, 7 Oct 2018 11:14:20 +0000 (20:14 +0900)]
Please run InsertLineNumbersInPOFiles.bat if you want to insert line numbers into PO files
Takashi Sawanaka [Thu, 27 Sep 2018 15:56:29 +0000 (00:56 +0900)]
Update Dutch translation. Submitted by Thomas De Rocke
Takashi Sawanaka [Wed, 26 Sep 2018 15:32:51 +0000 (00:32 +0900)]
Merge pull request #96 from GreyMerlin/master
Eliminate old (and unfinished) Version Control feature
GreyMerlin [Tue, 25 Sep 2018 04:37:00 +0000 (21:37 -0700)]
Merge branch 'master' of https://github.com/sdottaka/winmerge-v2
Tim Gerundt [Mon, 24 Sep 2018 21:15:09 +0000 (23:15 +0200)]
Rename some more readme.txt to README.md
Tim Gerundt [Mon, 24 Sep 2018 20:52:39 +0000 (22:52 +0200)]
Rename SVN_Organisation.txt to Folder_Structure.txt
Tim Gerundt [Mon, 24 Sep 2018 20:52:07 +0000 (22:52 +0200)]
Drop readme-Subversion.html
Tim Gerundt [Mon, 24 Sep 2018 20:50:56 +0000 (22:50 +0200)]
Rename some readme.txt to README.md
Tim Gerundt [Mon, 24 Sep 2018 20:50:29 +0000 (22:50 +0200)]
Use line breaks in main README.md
GreyMerlin [Sun, 23 Sep 2018 06:56:19 +0000 (23:56 -0700)]
Merge branch 'master' of https://github.com/sdottaka/winmerge-v2
Takashi Sawanaka [Sat, 22 Sep 2018 14:10:56 +0000 (23:10 +0900)]
Test.cpp: Add some tests
Takashi Sawanaka [Sat, 22 Sep 2018 14:10:00 +0000 (23:10 +0900)]
CrystalEdit: Make loading files a little bit faster
Takashi Sawanaka [Sat, 22 Sep 2018 08:31:40 +0000 (17:31 +0900)]
Fix for the issue bitbucket#113 (2)
GreyMerlin [Fri, 21 Sep 2018 02:13:50 +0000 (19:13 -0700)]
Eliminate old (and unfinished) Version Control feature
* Update all of the `Translations/WinMerge/*.po` files
GreyMerlin [Fri, 14 Sep 2018 23:13:01 +0000 (16:13 -0700)]
Eliminate old (and unfinished) Version Control feature
Completely eliminate all interfaces to Visual SourceSafe (old and new) and to Rational ClearCase
* Remove various `*.cpp` and `*.h` files
* Remove Options properties, resources, dialogs, string table constants (this implies changes to
the `English.pot` file)
* Remove special command-line handling for ClearCase and VSS commands
* Remove access to relevant Registry Keys... Note: the keys and values themselves remain untouched
in the registry.
* Removal is for both VS2017 and VS2015
GreyMerlin [Mon, 10 Sep 2018 18:23:27 +0000 (11:23 -0700)]
minor tweak to commit
1c33ab3aa
Takashi Sawanaka [Thu, 20 Sep 2018 13:59:26 +0000 (22:59 +0900)]
Partially revert the commit
eea9420613ce. bitbucket#107
sdottaka@users.sourceforge.net [Thu, 20 Sep 2018 11:45:43 +0000 (20:45 +0900)]
Merge
sdottaka@users.sourceforge.net [Thu, 20 Sep 2018 11:43:44 +0000 (20:43 +0900)]
Fix for the issue bitbucket#113
sdottaka@users.sourceforge.net [Thu, 20 Sep 2018 11:40:19 +0000 (20:40 +0900)]
Translation: windows -> Windows
Takashi Sawanaka [Sun, 9 Sep 2018 22:52:39 +0000 (07:52 +0900)]
Delete OnUpdate*() which does not matter if deleted
sdottaka@users.sourceforge.net [Sun, 9 Sep 2018 22:22:46 +0000 (07:22 +0900)]
Fixed a problem that the file item in the folder comparison window becomes only on the right side when opening the binary comparison window from the folder comparison window
sdottaka@users.sourceforge.net [Sun, 9 Sep 2018 22:17:32 +0000 (07:17 +0900)]
Partial fix for bitbucket#113
sdottaka@users.sourceforge.net [Sun, 9 Sep 2018 21:34:54 +0000 (06:34 +0900)]
Update translations
Takashi Sawanaka [Sun, 9 Sep 2018 02:15:36 +0000 (11:15 +0900)]
Merge
Takashi Sawanaka [Sun, 9 Sep 2018 02:11:11 +0000 (11:11 +0900)]
Update Dutch translation. Submitted by Thomas De Rocker
Takashi Sawanaka [Sun, 9 Sep 2018 01:41:54 +0000 (10:41 +0900)]
Update translations
Takashi Sawanaka [Thu, 6 Sep 2018 21:15:24 +0000 (06:15 +0900)]
Merge pull request #95 from GreyMerlin/master
Improvements to `CSuperComboBox` and Other Changes ...
GreyMerlin [Mon, 25 Jun 2018 21:53:31 +0000 (14:53 -0700)]
Update Poco SharedMemory to current Poco standard (2)
- Cleanup additional default parameter comments.
GreyMerlin [Wed, 5 Sep 2018 00:21:49 +0000 (17:21 -0700)]
Improvements to CSuperComboBox (11)
- Fix warnings with 32-bit builds
GreyMerlin [Wed, 5 Sep 2018 00:16:17 +0000 (17:16 -0700)]
Improve label text on the Open Dialog View tab
- Change "3rd(optional)" to "(optional) 3rd" for visual alignment.
- Improve messages regarding invalid path names by including the
ordinals (e.g. 1st, 2nd, 3rd) in the message text.
GreyMerlin [Tue, 4 Sep 2018 23:05:14 +0000 (16:05 -0700)]
Add to "Visual C++ loose" filter
- Add the files `*.idb` and `*.VC.db` to the filter. These are both
large binary files.
GreyMerlin [Tue, 4 Sep 2018 23:02:25 +0000 (16:02 -0700)]
Fix "Spanish translation in Codepage" error
- Fix BitBucket [Issue #108: "Spanish translation in Codepage"]
(https://bitbucket.org/winmerge/winmerge/issues/108/spanish-translation-in-codepage)
GreyMerlin [Tue, 4 Sep 2018 22:58:18 +0000 (15:58 -0700)]
"Open Dialog Auto-Completion" == "From MRU list" now fixed
- The option "Open Dialog Auto-Completion" (on the "Options
(General)" setting page) failed to work correctly when set to the value
"From MRU list". This appears to have been true since the
`2.13.11+-jp-8` commit on 04/18/2010 when the ComboBoxes for
file/folder selection were changed to use the the "ComboBoxEx32" common
control. The failure occurs because `FindString()`, which is used in
`CSuperComboBox::OnEditchange()`, is only valid for CComboBox but not
CComboBoxEx.
- This patch restores the "From MRU list" functionality, but
necessarily builds it upon the recent "Improvements to CSuperComboBox"
changes.
- It should also be noted that "From MRU list" provides a very limited
functionality when compared to the "From file system". This was
true even with WinMerge versions 2.13.10 and earlier.
GreyMerlin [Tue, 4 Sep 2018 21:55:41 +0000 (14:55 -0700)]
Improvements to CSuperComboBox (10)
* Proper name for `m_sFullStateText`
GreyMerlin [Tue, 4 Sep 2018 04:09:46 +0000 (21:09 -0700)]
Improvements to CSuperComboBox (9)
* Eliminate the "AddTemplate" and "AutoAdd" capabilities of
`CSuperComboBox`. They are never used and it is likely that their
logic is incomplete or incorrect.
* Eliminate the `bAdd` and `idstrAddText`parameters from the
`CSuperComboBox` constructor. Again, they are never used and have no
meaning without the "AutoAdd" capability.
GreyMerlin [Tue, 4 Sep 2018 03:59:07 +0000 (20:59 -0700)]
Improvements to CSuperComboBox (8)
* When inserting 'long' file paths into the ListView associated with
the `CSuperComboBox`, replace the middle of the file path string with an
` ... `.
* Since the ListView is limited to 255 characters, and that is itself
really too long to view (even in a really wide SuperComboBox), the
current algorithm breaks long file paths into two 72-character strings
(leading and trailing), finds convenient folder name boundaries (if
any) thus possibly further shortening those leading and trailing
sub-strings and then concatenates them back together with the ellipsis
` ... ` in the middle.
GreyMerlin [Sun, 2 Sep 2018 06:12:25 +0000 (23:12 -0700)]
Improvements to CSuperComboBox (7)
* FINALLY ... the substance of this whole effort!
- Keep a parallel copy of the file name text to allow for extended
length path names that are longer than the 255 character limit imposed
by ComboBoxEx.
- modify the way that the CSuperComboBox is initialized, so that more
state information is known throughout the life of the control, not just
within the `LoadState` and `SaveState` procedures.
GreyMerlin [Thu, 30 Aug 2018 06:09:01 +0000 (23:09 -0700)]
Improvements to CSuperComboBox (6)
- continued improvements to `LoadState()` and `SaveState()`
- Completely remove the changes from the SuperComboBox (5) commit.
Saving the state with the `Esc` key or `Cancel` button really is an
important feature.
GreyMerlin [Wed, 29 Aug 2018 19:57:02 +0000 (12:57 -0700)]
Improvements to CSuperComboBox (5)
- Don't save OpenDialog state when closed via Esc or Cancel. This
(the saving of the combobox states) seemed like an odd behavior of
Cancel, and is not mimicked if the dialog was closed by WinMerge's
termination.
GreyMerlin [Wed, 29 Aug 2018 19:26:41 +0000 (12:26 -0700)]
Improvements to CSuperComboBox (4)
- modernize many `BOOL` to `bool`
- reorganize layout of `SuperComboBox.h`
- better internal detection of "Optional" third file control. Better
handling of that control's "empty" state.
- Minor code cleanup, not affecting overall logic.
- Add comments to procedure parameters with default values.
GreyMerlin [Mon, 20 Aug 2018 19:53:26 +0000 (12:53 -0700)]
Improvements to CSuperComboBox (3)
- Simplify `IsComboBox()` checking and make it `const` and `private`
GreyMerlin [Mon, 20 Aug 2018 18:42:23 +0000 (11:42 -0700)]
Improvements to CSuperComboBox (2)
- Comments and simple text edits
GreyMerlin [Mon, 25 Jun 2018 21:54:08 +0000 (14:54 -0700)]
Improvements to CSuperComboBox
GreyMerlin [Mon, 25 Jun 2018 21:53:31 +0000 (14:53 -0700)]
Update Poco SharedMemory to current standard
- Eliminate unused parameters
GreyMerlin [Fri, 17 Aug 2018 21:27:20 +0000 (14:27 -0700)]
"Private Build" is now easy and useful for developers
* A Private Build string can now be #defined in `version.h`; the
default value is an empty string (as it should be for all released
versions of **WinMerge**). This value propagates into the
VersionInfo block via the `Merge2.rc` file, and is therefore available
to all checking of the VersionInfo block of the `.exe` file.
* The About dialog is modified to remove the separate line that
displayed the "Private Build:" information in the past, as that line
overlapped the "Copyright" text immediately below. The "Private Build"
info is now displayed on the same line as the Version, separated by
" + ". There is room for about 11 characters of "Private Build" text.
* The Configuration Log File now indicates the Private Build
information following the Version, rather that simply stating
"(Private Build)"
* Cleanup the mechanics of getting the "Private Build" information into
the About dialog.
* Also a few trivial code and comment changes.
sdottaka@users.sourceforge.net [Sat, 1 Sep 2018 15:34:59 +0000 (00:34 +0900)]
Restore lost translations
sdottaka@users.sourceforge.net [Sat, 1 Sep 2018 14:48:37 +0000 (23:48 +0900)]
Merge.rc: Make setting button in OpenDlg wider. bitbucket#111
sdottaka@users.sourceforge.net [Sat, 1 Sep 2018 14:03:08 +0000 (23:03 +0900)]
Attempt to fix bitbucket#109
sdottaka@users.sourceforge.net [Sat, 1 Sep 2018 13:19:56 +0000 (22:19 +0900)]
Update translations
Takashi Sawanaka [Sat, 18 Aug 2018 12:53:01 +0000 (21:53 +0900)]
Merge
Takashi Sawanaka [Sat, 18 Aug 2018 11:21:06 +0000 (20:21 +0900)]
Merge pull request #94 from GreyMerlin/master
Adapt to latest VS2017 version 15.8, and more ...
GreyMerlin [Fri, 17 Aug 2018 00:52:31 +0000 (17:52 -0700)]
Adapt to latest VS2017 version 15.8 (2)
* Update the presentation of the Visual Studio Version in the WinMerge
Configuration Log file.
GreyMerlin [Fri, 17 Aug 2018 00:49:51 +0000 (17:49 -0700)]
Add new node to Solution Explorer for a few gtest files
* With the testing for the recent `gtest` bug it became convenient to
have a new filter node in the Solution Explorer for making the code
visible to Intellisense. Additional files beyond simply
`gtest-printers.h` were necessary to prevent Intellisense from
presuming various configuration errors.
* The Solution Explorer additions are copied into VS2015, simply for
consistency
GreyMerlin [Fri, 17 Aug 2018 00:43:56 +0000 (17:43 -0700)]
Adapt to latest VS2017 version 15.8
* As is often the case, the boost library needs to update its warning
message for the new compiler version.
* There is a bug in the gtest software; it is using a non-portable
`operator<<` overload. The ambiguity of this usage is now being
flagged as an error by version 15.8. There have been many updates to
the gtest software since the version incorporated into WinMerge, but
fortunately the "accepted" and merged solution to this problem simply
drops into WinMerge without issue (although I've added some comments
referencing the gtest PR#1620 -
https://github.com/google/googletest/pull/1620)
* Unfortunately, in order to trigger the source code in gtest PR#1620,
the value of the predefined macro `__cplusplus` must be accurate. For
various reasons (see
https://blogs.msdn.microsoft.com/vcblog/2018/04/09/msvc-now-correctly-reports-__cplusplus/)
the compiler option `Zc:__cplusplus` must be set in order to generate
correct values for `__cplusplus`. The changes to the
`*.vs2017.vcxproj`file accomplish this. Note that the elimination of
the "additional option" `/EHa` is acceptable because that option is
properly specified elsewhere in the project's build properties.
GreyMerlin [Fri, 17 Aug 2018 00:12:22 +0000 (17:12 -0700)]
Correct Extended Length Path Name handling on UNC
* Too many `\\` characters were being inserted when forming Extended
Length Path Names on UNC (i.e. Network Storage) devices. This is a bug
in the original Poco library code
* Cleanup awkward code in `SuperComboBox.cpp` for detecting and
handling UNC file path names.
Takashi Sawanaka [Sat, 4 Aug 2018 20:21:43 +0000 (05:21 +0900)]
Merge
Takashi Sawanaka [Sat, 4 Aug 2018 20:15:28 +0000 (05:15 +0900)]
Merge pull request #93 from GreyMerlin/master
"Ghost Lines" at the end of file comparisons.
GreyMerlin [Fri, 3 Aug 2018 19:32:01 +0000 (12:32 -0700)]
Reduce Level 4 Build Warnings (12)
* I must have missed these three Level 4 Warning situations in the
earlier Pull.
* They are only generated when building the Test configuration for the
Win32 platform.
GreyMerlin [Fri, 3 Aug 2018 19:13:54 +0000 (12:13 -0700)]
Last Line of Files vs "Ghost Lines" (4)
Re-implements the Undo handling for the last line (see my final comments
in the earlier "...Ghost Lines (2)" commit) to move the "Ghost"
sensitive parts out of the `CCrystalTextBuffer` class and into the
`GhostTextBuffer` class.
A new virtual procedure `UndoInsert()`now exists in both
`CCrystalTextBuffer` and `GhostTextBuffer`, with the WinMerge and Ghost
specific checking in the `GhostTextBuffer`class, and the basic deletion
code in the `CCrystalTextBuffer`class.
Also, modify the `VERIFY()`testing in the Undo paths to correctly
interface with the general failure mechanism within `Undo()`
GreyMerlin [Thu, 2 Aug 2018 22:10:34 +0000 (15:10 -0700)]
Last Line of Files vs "Ghost Lines" (3)
`LineInfo::Delete()` was not correctly handling the case of deleting
all text in a line _including_ the CRLF at the end. This particular
situation exists because of deleting text at the very end of a file.
GreyMerlin [Thu, 2 Aug 2018 22:06:37 +0000 (15:06 -0700)]
Last Line of Files vs "Ghost Lines" (2)
Handle the special case of `Undo()` at the very end of a file.
`Undo()` checks that the text that is being replaced in the file
matches the records being kept in the `m_aUndoBuf[]` structure. The
deletion of text at very end of the file necessary involves removing an
additional CRLF (because of an LF_GHOST line which was removed too)
which causes this Undo comparison-checking to fail.
Following failure, and only if the failure is at the very end of the
file, a new secondary check is made to check for the deletion of the
additional CRLF.
I don't particularly like this code because it puts knowledge of
"Ghost" lines directly into the code of the `CCrystalTextBuffer` class.
A subsequent patch will factor this into virtual procedures shared with
the `CGhostTextBuffer` class.
GreyMerlin [Thu, 2 Aug 2018 19:42:00 +0000 (12:42 -0700)]
Last Line of files vs "Ghost Lines" (1)
The special case of inserting text into the very last line of a file
when that last line is marked as LF_GHOST. Effectively, the new text
is supposed to go "before" the Ghost, but mechanically the text is
inserted into the Ghost itself, with a new Ghost line appearing at the
end of the file.
Later, the Ghost status of both the first and last inserted lines will
get straightened out, with the trailing Ghost line becoming a NULL
line. By setting the last line to NULL, the line will eventually be
removed or become an actual LF_GHOST line in
`CMergeDoc::PrimeTextBuffers()`
GreyMerlin [Thu, 2 Aug 2018 19:39:44 +0000 (12:39 -0700)]
Improve comments relating to "ghost buffers" (2)
* continuing from earlier commit
GreyMerlin [Thu, 2 Aug 2018 18:01:48 +0000 (11:01 -0700)]
Improve Various ASSERTs related to "Ghost Buffers"
GreyMerlin [Thu, 2 Aug 2018 17:39:15 +0000 (10:39 -0700)]
Enable `checkFlagsFromReality()` Debug checking
GreyMerlin [Thu, 2 Aug 2018 17:35:23 +0000 (10:35 -0700)]
Improve comments relating to "ghost buffers"
* Correct and extend various parameter comments, esp. for Doxygen
* Make sure default parameter values in a function definition are
properly commented in the function declaration as well
* Add either `/*virtual base*/` or `/*virtual override*/` comments to
various "ghost buffer " related procedure declarations.
* Eliminate (using `#if 0` and `#endif`) the procedures
`InternalInsertGhostLine()` and `InsertGhostLine()`
Takashi Sawanaka [Mon, 30 Jul 2018 20:23:49 +0000 (05:23 +0900)]
Merge pull request #92 from GreyMerlin/master
Improve ConfigLog, Build All at Warning Level 4
GreyMerlin [Sun, 29 Jul 2018 16:12:49 +0000 (09:12 -0700)]
Repair new "old style" casts
* A few "old style" casts were inserted in the various recent patches.
These are now all changed to proper `static_cast<>`
Takashi Sawanaka [Sun, 29 Jul 2018 13:07:04 +0000 (22:07 +0900)]
Add File/Recompare As/Text menu item
Takashi Sawanaka [Sun, 29 Jul 2018 12:02:43 +0000 (21:02 +0900)]
Test.cpp: Fix that tested windows did not close automatically
GreyMerlin [Sat, 28 Jul 2018 01:57:49 +0000 (18:57 -0700)]
WinMerge now builds at Warning Level = 4
* Both executables: UnitTests and WinMergeU
* All Configurations: Test, Debug, Release
* All Platforms : Win32, X64
* Both Compilers: VS2015, VS2017
* No Warning Messages !!
* Note: the three Poco sub-projects still compile at Warning Level 3,
no effort has been made to move them to warning level 4
GreyMerlin [Sat, 28 Jul 2018 00:49:22 +0000 (17:49 -0700)]
Eliminate most uses of _WIN32 preprocessor symbol
* WinMerge is very much a Windows product; no need to test for it. The
only remaining reference to __WIN32 is within GNU's diffutils.
* This change has no impact on the projects within the "poco" software,
`Foundation`, `Utils`or `XML`.
GreyMerlin [Fri, 27 Jul 2018 23:13:22 +0000 (16:13 -0700)]
Cleanup some standard #include file names
* Use C++ standard include names rather than old C names (but only in
`*.cpp` files, and `*.h` where appropriate). For example, use <cstdio>
or <cstdint> rather than <stdio.h> or <stdint.h>
* Make sure to use C-style include names in `*.c` files. For example
<assert.h> rather than <cassert>
* Remove many (but not all) <shlwapi.h>
* Remove <cstdint>, <cstdarg>, <stdint.h> where not actually necessary
GreyMerlin [Fri, 27 Jul 2018 19:43:11 +0000 (12:43 -0700)]
Remove most <mbctype.h> includes
* <mbctype.h> is needed for Multibyte character handling, which is not
needed in a Unicode program.
* The file remains necessary in the `Src/stringdiffs.cpp` however
GreyMerlin [Fri, 27 Jul 2018 18:21:47 +0000 (11:21 -0700)]
Turn off the build option for Browse Information
* Turn off the build option for Browse Information (/FR for `*.sbr` and
`*.bsc` files). This has not been needed since VS2008 and can cause the
spurious BK4504 warning message ...
"file contains too many references; ignoring further references from
this source"
that is produced _after_ the compilation is otherwise successfully
completed.
* Additionally, this noticeably speeds up the Debug and Test
compilations
* For a reference to VS2008, see...
https://docs.microsoft.com/en-us/cpp/build/reference/bscmake-reference
* Also, remove the old (and not maintained for a long time)
`*.vcxproj`files for VS2013 for the UnitTests project.
GreyMerlin [Fri, 27 Jul 2018 17:45:27 +0000 (10:45 -0700)]
Reduce Level 4 Build Warnings (11)
* Warning C4389: '==': signed/unsigned mismatch
* At this point there are **NO** compilation warnings issued when
compiling WinMerge or UnitTests with Warning Level = 4. This is for
all build configurations (Debug, Release and Test), all build platforms
(X64 and Win32) and both VS2017 and VS2015 compilers.
GreyMerlin [Fri, 27 Jul 2018 16:31:43 +0000 (09:31 -0700)]
Reduce Level 4 Build Warnings (10)
* More casting: some `int` vs. `UINT`, some `int` vs. `char`
* Cast various font Options into (BYTE)
* Use #Pragma warning(push) and (pop) for
"Warning 4244: conversion from 'int' to 'char', possible loss of data",
because there are three large areas that would each need to have many
individual casting otherwise.
GreyMerlin [Thu, 26 Jul 2018 23:54:36 +0000 (16:54 -0700)]
Reduce Level 4 Build Warnings (9)
* Copy all `*.vcxproj` into VS2015
GreyMerlin [Thu, 26 Jul 2018 23:42:35 +0000 (16:42 -0700)]
Reduce Level 4 Build Warnings (8)
* More use of `TCHAR` rather than `int`
* Warning C4702: unreachable code
* Remove `Src/Merge7zFormatShellImpl.cpp` and `.h` files. These were
not included in all build configurations, provides no entry points,
causes a syntax warning for "providing too many symbols", and is then
ignored. Gone Now!
* Disabled in `*.vcxproj` files
Warning C4204: nonstandard extension used: non-constant aggregate
initializer
Warning C4505 'ff': unreferenced local function has been removed
GreyMerlin [Thu, 26 Jul 2018 22:15:50 +0000 (15:15 -0700)]
Reduce Level 4 Build Warnings (7)
* Another "name hiding" issue (analyze.c)
* various string casting
GreyMerlin [Thu, 26 Jul 2018 22:00:17 +0000 (15:00 -0700)]
Reduce Level 4 Build Warnings (6)
* cleanup a funny std::transform() warning by simply inlining the code
(DiffWrapper.cpp)
* Make Bomsize calculation less obscure (io.c)
* Misc casting
GreyMerlin [Thu, 26 Jul 2018 21:33:06 +0000 (14:33 -0700)]
Reduce Level 4 Build Warnings (5)
* Use `wchar_t` in various places instead of `int` or `UINT`
* use `::towlower()` rather than `::tolower()` for various
`std::transform()` templates
GreyMerlin [Thu, 26 Jul 2018 21:18:45 +0000 (14:18 -0700)]
Reduce Level 4 Build Warnings (4)
* declare an `enum` as unsigned or long, especially for bit masking
values.
GreyMerlin [Thu, 26 Jul 2018 20:57:11 +0000 (13:57 -0700)]
Reduce Level 4 Build Warnings (3)
* Use appropriate type names rather than generic `int` or `uint`.
* Mostly CLIPFORMAT on procedure definitions.
GreyMerlin [Thu, 26 Jul 2018 20:40:22 +0000 (13:40 -0700)]
Reduce Level 4 Build Warnings (2)
* Warning C4459: declaration of 'c' hides global declaration
* Warning C4458: declaration of 'd' hides class member
* Warning C4457 : declaration of 'e' hides function parameter
* Warning C4456: declaration of 'f' hides previous local declaration
I consider that using identifier scope to "hide" more "global"
identifier names is a very misleading and dangerous programming
practice.
GreyMerlin [Thu, 26 Jul 2018 20:07:59 +0000 (13:07 -0700)]
Reduce Level 4 Build Warnings (1)
I'm starting on a quest to eliminate as many Level=4 build warnings as
makes sense (and is reasonably easy). I will not actually "release"
the patches to the `*.vcxproj`files that change the warning level of
the builds (which remain at Level 3); maybe someday ...
I'm not addressing changes to any of the `poco\*` software, except
perhaps a few of the `*.h` files that generate warnings when included
into a WinMerge source file.
* Warning C4100 'a': unreferenced formal parameter
* Warning C4189 'b': local variable is initialized but not referenced
These warnings are suppressed simply by disabling them in the
appropriate `*.vcxproj` file. I disable them because I claim that
(because of conditional compilation, etc) they are normal and
reasonable coding practice.
GreyMerlin [Thu, 26 Jul 2018 18:07:28 +0000 (11:07 -0700)]
Eliminate use of deprecated `GetVersionEx()` (3)
* Tweak comment
* Proper test before calling FindClose() in TempFile.cpp