aboutsummaryrefslogtreecommitdiffstats
path: root/native/src/proximity_info.cpp
diff options
context:
space:
mode:
authorYusuke Nojima <nojima@google.com>2011-09-26 23:06:19 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-09-26 23:06:19 -0700
commite76dbffe002e37dee4d5cac25af06c63257632a2 (patch)
tree895cdeeb52ca5af3502b79bf34e912a660c4cd2f /native/src/proximity_info.cpp
parent17fbdbc2614c8a1b56a05e93735d2f4ed85aa99e (diff)
parentde2f8424ea7e201ab8ee0d3c64fac0b52514d24e (diff)
downloadlatinime-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.cpp23
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();