Use GetStringUTFRegion for filename
Change-Id: I2e9ad092ccf4c23c1c6b71916c962994314d37b6main
parent
9e0c711a62
commit
04a89132e9
|
@ -36,7 +36,7 @@ namespace latinime {
|
||||||
|
|
||||||
class ProximityInfo;
|
class ProximityInfo;
|
||||||
|
|
||||||
void releaseDictBuf(void *dictBuf, const size_t length, int fd);
|
static void releaseDictBuf(void *dictBuf, const size_t length, int fd);
|
||||||
|
|
||||||
static jlong latinime_BinaryDictionary_open(JNIEnv *env, jobject object,
|
static jlong latinime_BinaryDictionary_open(JNIEnv *env, jobject object,
|
||||||
jstring sourceDir, jlong dictOffset, jlong dictSize,
|
jstring sourceDir, jlong dictOffset, jlong dictSize,
|
||||||
|
@ -44,11 +44,14 @@ static jlong latinime_BinaryDictionary_open(JNIEnv *env, jobject object,
|
||||||
jint maxPredictions) {
|
jint maxPredictions) {
|
||||||
PROF_OPEN;
|
PROF_OPEN;
|
||||||
PROF_START(66);
|
PROF_START(66);
|
||||||
const char *sourceDirChars = env->GetStringUTFChars(sourceDir, 0);
|
const jsize sourceDirUtf8Length = env->GetStringUTFLength(sourceDir);
|
||||||
if (sourceDirChars == 0) {
|
if (sourceDirUtf8Length <= 0) {
|
||||||
AKLOGE("DICT: Can't get sourceDir string");
|
AKLOGE("DICT: Can't get sourceDir string");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
char sourceDirChars[sourceDirUtf8Length + 1];
|
||||||
|
env->GetStringUTFRegion(sourceDir, 0, env->GetStringLength(sourceDir), sourceDirChars);
|
||||||
|
sourceDirChars[sourceDirUtf8Length] = '\0';
|
||||||
int fd = 0;
|
int fd = 0;
|
||||||
void *dictBuf = 0;
|
void *dictBuf = 0;
|
||||||
int adjust = 0;
|
int adjust = 0;
|
||||||
|
@ -98,8 +101,6 @@ static jlong latinime_BinaryDictionary_open(JNIEnv *env, jobject object,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif // USE_MMAP_FOR_DICTIONARY
|
#endif // USE_MMAP_FOR_DICTIONARY
|
||||||
env->ReleaseStringUTFChars(sourceDir, sourceDirChars);
|
|
||||||
|
|
||||||
if (!dictBuf) {
|
if (!dictBuf) {
|
||||||
AKLOGE("DICT: dictBuf is null");
|
AKLOGE("DICT: dictBuf is null");
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -230,7 +231,7 @@ static void latinime_BinaryDictionary_close(JNIEnv *env, jobject object, jlong d
|
||||||
delete dictionary;
|
delete dictionary;
|
||||||
}
|
}
|
||||||
|
|
||||||
void releaseDictBuf(void *dictBuf, const size_t length, int fd) {
|
static void releaseDictBuf(void *dictBuf, const size_t length, int fd) {
|
||||||
#ifdef USE_MMAP_FOR_DICTIONARY
|
#ifdef USE_MMAP_FOR_DICTIONARY
|
||||||
int ret = munmap(dictBuf, length);
|
int ret = munmap(dictBuf, length);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
|
|
Loading…
Reference in New Issue