spiegel-keyman/windows/src/developer/kmcmpdll
Marc Durdin d5790ca9b6 fix(windows): cleanup pointer to int typecasts
Fixes #3084.

This does two things:

1. Cleans up a bunch of places where we used to use `(int)` typecasts
   for pointer math, which was problematic. We now use `(INT_PTR)` per
   MSDN https://docs.microsoft.com/en-us/windows/win32/winprog64/rules-for-using-pointers
   and then cast that down to `(int)` where necessary, e.g. when storing
   string lengths which are never going to be more than a few hundred
   characters! Doing this explicitly helps to clarify that we are aware
   of the typecast and believe it to be safe.

2. Adds in some build infrastructure for future use of Coverity Scan
   https://scan.coverity.com/ which we plan to use for further code
   quality updates. I have submitted the project to Coverity and are
   now waiting for approval so we can check results. Once we have
   approval, I do plan to add this to the nightly build (we need to
   keep submissions under 3 builds/day).

   Note: I have not yet added Keyman Core (Windows) to this project,
   nor are we currently building Keyman Core (macOS) or Keyman for
   Linux, but we should consider adding those in future.
2020-09-24 14:39:59 +10:00
..
Compiler.cpp fix(windows): cleanup pointer to int typecasts 2020-09-24 14:39:59 +10:00
Compiler.rc fix(developer): Hotkeys in .kmn unquoted 2019-12-08 17:24:40 +00:00
DeprecationChecks.cpp [Windows] Debug logging and proof of concept tests for keyboarding support within metro-style apps 2018-10-18 20:00:49 +11:00
DeprecationChecks.h Keyman Developer Compiler should warn on deprecated language tags for Keyman 10 keyboards 2018-02-16 10:53:01 +07:00
Edition.cpp [Windows] Debug logging and proof of concept tests for keyboarding support within metro-style apps 2018-10-18 20:00:49 +11:00
Edition.h Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
json-validation.cpp Validate JSON .keyboard_info files 2017-09-12 19:57:39 +07:00
kcframe.cpp fix(developer): Hotkeys in .kmn unquoted 2019-12-08 17:24:40 +00:00
kcframe.vcxproj fix(developer): default target name for x64 projects 2019-11-29 09:57:01 +00:00
kcframe.vcxproj.filters Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
keyman64.h Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
kmcmpdll.h Keyman Developer Compiler should warn on deprecated language tags for Keyman 10 keyboards 2018-02-16 10:53:01 +07:00
kmcmpdll.sln chore(developer): config build paths 2019-11-17 08:52:30 +11:00
kmcmpdll.vcxproj fix(developer): default target name for x64 projects 2019-11-29 09:57:01 +00:00
kmcmpdll.vcxproj.filters [Windows] Debug logging and proof of concept tests for keyboarding support within metro-style apps 2018-10-18 20:00:49 +11:00
Makefile chore: address review comments, history 2019-12-02 11:23:09 +00:00
NamedCodeConstants.cpp fix(developer): use size_t instead of long 2019-11-17 09:16:08 +11:00
NamedCodeConstants.h Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
pch.cpp [Windows] Debug logging and proof of concept tests for keyboarding support within metro-style apps 2018-10-18 20:00:49 +11:00
pch.h [Windows] Debug logging and proof of concept tests for keyboarding support within metro-style apps 2018-10-18 20:00:49 +11:00
version.in [Windows] Fix version.in file encoding back to Windows-1252 2019-10-21 06:43:13 +07:00
versioning.cpp [Windows] Debug logging and proof of concept tests for keyboarding support within metro-style apps 2018-10-18 20:00:49 +11:00
versioning.h Rename VerifyKeyboardVersion to make it clear it is a macro -- it has a 'return' side-effect 2017-09-29 14:53:20 +07:00
virtualcharkeys.cpp [Windows] Debug logging and proof of concept tests for keyboarding support within metro-style apps 2018-10-18 20:00:49 +11:00
virtualcharkeys.h Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
vkeys.h feat(developer): allow use of ISO9995 in key ids 2020-02-26 23:25:08 +07:00
xstring.cpp Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00