Fix lint warnings in LatinIME JNI code
This CL addresses compiler warnings when building libjni_latinime.so
with NDK from Android Studio.
There should be no behavior change.
Bug: 110741422
Bug: 110757803
Test: tapas LatinIME LatinIMETests arm64 userdebug && make -j
Change-Id: Icc711dd46511a167b1fd90028552def5b2f9941f
diff --git a/native/jni/Android.mk b/native/jni/Android.mk
index 893a60d..b9fc414 100644
--- a/native/jni/Android.mk
+++ b/native/jni/Android.mk
@@ -29,7 +29,7 @@
LOCAL_CFLAGS += -Werror -Wall -Wextra -Weffc++ -Wformat=2 -Wcast-qual -Wcast-align \
-Wwrite-strings -Wfloat-equal -Wpointer-arith -Winit-self -Wredundant-decls \
- -Woverloaded-virtual -Wsign-promo -Wno-system-headers
+ -Woverloaded-virtual -Wsign-promo -Wno-system-headers -Wno-format-nonliteral
# To suppress compiler warnings for unused variables/functions used for debug features etc.
LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function
diff --git a/native/jni/src/defines.h b/native/jni/src/defines.h
index 10b930e..1531b6c 100644
--- a/native/jni/src/defines.h
+++ b/native/jni/src/defines.h
@@ -17,6 +17,8 @@
#ifndef LATINIME_DEFINES_H
#define LATINIME_DEFINES_H
+#include <cstdint>
+
#ifdef __GNUC__
#define AK_FORCE_INLINE __attribute__((always_inline)) __inline__
#else // __GNUC__
@@ -51,7 +53,7 @@
int si = 0;
int di = 0;
while (si < sourceSize && di < destLimit && 0 != source[si]) {
- const int codePoint = source[si++];
+ const uint32_t codePoint = static_cast<uint32_t>(source[si++]);
if (codePoint < 0x7F) { // One byte
dest[di++] = codePoint;
} else if (codePoint < 0x7FF) { // Two bytes