diff options
author | 2011-09-26 23:06:19 -0700 | |
---|---|---|
committer | 2011-09-26 23:06:19 -0700 | |
commit | e76dbffe002e37dee4d5cac25af06c63257632a2 (patch) | |
tree | 895cdeeb52ca5af3502b79bf34e912a660c4cd2f /native/src/proximity_info.cpp | |
parent | 17fbdbc2614c8a1b56a05e93735d2f4ed85aa99e (diff) | |
parent | de2f8424ea7e201ab8ee0d3c64fac0b52514d24e (diff) | |
download | latinime-e76dbffe002e37dee4d5cac25af06c63257632a2.tar.gz latinime-e76dbffe002e37dee4d5cac25af06c63257632a2.tar.xz latinime-e76dbffe002e37dee4d5cac25af06c63257632a2.zip |
Merge "Add explicit NULL check to latinime_Keyboard_setProximityInfo() and ProximityInfo::ProximityInfo()."
Diffstat (limited to 'native/src/proximity_info.cpp')
-rw-r--r-- | native/src/proximity_info.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/native/src/proximity_info.cpp b/native/src/proximity_info.cpp index 94cccc382..87cacd938 100644 --- a/native/src/proximity_info.cpp +++ b/native/src/proximity_info.cpp @@ -26,6 +26,14 @@ namespace latinime { +inline void copyOrFillZero(void *to, const void *from, size_t size) { + if (from) { + memcpy(to, from, size); + } else { + memset(to, 0, size); + } +} + ProximityInfo::ProximityInfo(const int maxProximityCharsSize, const int keyboardWidth, const int keyboardHeight, const int gridWidth, const int gridHeight, const uint32_t *proximityCharsArray, const int keyCount, const int32_t *keyXCoordinates, @@ -43,16 +51,11 @@ ProximityInfo::ProximityInfo(const int maxProximityCharsSize, const int keyboard } memcpy(mProximityCharsArray, proximityCharsArray, len * sizeof(mProximityCharsArray[0])); - if (KEY_COUNT > 0) { - if (DEBUG_PROXIMITY_INFO) { - LOGI("Create key coordinate array %d", keyCount); - } - memcpy(mKeyXCoordinates, keyXCoordinates, KEY_COUNT * sizeof(mKeyXCoordinates[0])); - memcpy(mKeyYCoordinates, keyYCoordinates, KEY_COUNT * sizeof(mKeyYCoordinates[0])); - memcpy(mKeyWidths, keyWidths, KEY_COUNT * sizeof(mKeyWidths[0])); - memcpy(mKeyHeights, keyHeights, KEY_COUNT * sizeof(mKeyHeights[0])); - memcpy(mKeyCharCodes, keyCharCodes, KEY_COUNT * sizeof(mKeyCharCodes[0])); - } + copyOrFillZero(mKeyXCoordinates, keyXCoordinates, KEY_COUNT * sizeof(mKeyXCoordinates[0])); + copyOrFillZero(mKeyYCoordinates, keyYCoordinates, KEY_COUNT * sizeof(mKeyYCoordinates[0])); + copyOrFillZero(mKeyWidths, keyWidths, KEY_COUNT * sizeof(mKeyWidths[0])); + copyOrFillZero(mKeyHeights, keyHeights, KEY_COUNT * sizeof(mKeyHeights[0])); + copyOrFillZero(mKeyCharCodes, keyCharCodes, KEY_COUNT * sizeof(mKeyCharCodes[0])); initializeCodeToGroup(); initializeCodeToKeyIndex(); |