aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/src/proximity_info.cpp
diff options
context:
space:
mode:
authorKen Wakasa <kwakasa@google.com>2012-08-09 06:37:47 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-08-09 06:37:47 -0700
commit56ac3bf13d495d856e927bbeb0faafeaf2ee874e (patch)
treef4cd9db5df639ea875fe13465bfe9ad698eb7ecf /native/jni/src/proximity_info.cpp
parent3b53045515798648278f30cfd34869f243542bd3 (diff)
parent9e0c711a6230af1db0753af401804c95e4bee69d (diff)
downloadlatinime-56ac3bf13d495d856e927bbeb0faafeaf2ee874e.tar.gz
latinime-56ac3bf13d495d856e927bbeb0faafeaf2ee874e.tar.xz
latinime-56ac3bf13d495d856e927bbeb0faafeaf2ee874e.zip
am 9e0c711a: Stop using STL string in additional_proximity_chars
* commit '9e0c711a6230af1db0753af401804c95e4bee69d': Stop using STL string in additional_proximity_chars
Diffstat (limited to 'native/jni/src/proximity_info.cpp')
-rw-r--r--native/jni/src/proximity_info.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/native/jni/src/proximity_info.cpp b/native/jni/src/proximity_info.cpp
index 4f6507e53..2564c8a67 100644
--- a/native/jni/src/proximity_info.cpp
+++ b/native/jni/src/proximity_info.cpp
@@ -17,7 +17,6 @@
#include <cassert>
#include <cmath>
#include <cstring>
-#include <string>
#define LOG_TAG "LatinIME: proximity_info.cpp"
@@ -68,10 +67,12 @@ ProximityInfo::ProximityInfo(JNIEnv *env, const jstring localeJStr, const int ma
AKLOGI("Create proximity info array %d", proximityGridLength);
}
const jsize localeCStrUtf8Length = env->GetStringUTFLength(localeJStr);
- char localeCStr[localeCStrUtf8Length + 1];
- env->GetStringUTFRegion(localeJStr, 0, env->GetStringLength(localeJStr), localeCStr);
- localeCStr[localeCStrUtf8Length] = '\0';
- mLocaleStr = new std::string(localeCStr);
+ if (localeCStrUtf8Length >= MAX_LOCALE_STRING_LENGTH) {
+ AKLOGI("Locale string length too long: length=%d", localeCStrUtf8Length);
+ assert(false);
+ }
+ memset(mLocaleStr, 0, sizeof(mLocaleStr));
+ env->GetStringUTFRegion(localeJStr, 0, env->GetStringLength(localeJStr), mLocaleStr);
mProximityCharsArray = new int32_t[proximityGridLength];
safeGetOrFillZeroIntArrayRegion(env, proximityChars, proximityGridLength, mProximityCharsArray);
safeGetOrFillZeroIntArrayRegion(env, keyXCoordinates, KEY_COUNT, mKeyXCoordinates);
@@ -98,7 +99,6 @@ void ProximityInfo::initializeCodeToKeyIndex() {
}
ProximityInfo::~ProximityInfo() {
- delete mLocaleStr;
delete[] mProximityCharsArray;
}