spiegel-keyman/windows/src/developer/kmdecomp
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
..
crc32.cpp feat(developer): add kmdecomp 2019-12-05 11:02:27 +01:00
kmdecomp.cpp fix(windows): cleanup pointer to int typecasts 2020-09-24 14:39:59 +10:00
kmdecomp.md chore: add docs, history 2019-12-06 09:53:55 +01:00
kmdecomp.sln feat(developer): add kmdecomp 2019-12-05 11:02:27 +01:00
kmdecomp.vcxproj feat(windows): sentry c++ wrappers 2020-03-25 07:38:29 +11:00
kmdecomp.vcxproj.filters feat(windows): sentry c++ wrappers 2020-03-25 07:38:29 +11:00
Makefile feat(developer): add kmdecomp 2019-12-05 11:02:27 +01:00
savekeyboard.cpp feat(developer): add kmdecomp 2019-12-05 11:02:27 +01:00
version.in feat(developer): add kmdecomp 2019-12-05 11:02:27 +01:00