From 96403af9b78d4852f1ac86857a319e078e8fc93f Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 8 Apr 2014 15:15:34 -0700 Subject: Terminal: fix compiling for 64-bit Use jlong to store the native pointer. Change-Id: I0d35871da53f08b8835c35a3675fb958e9ec230a --- jni/com_android_terminal_Terminal.cpp | 42 +++++++++++++++++----------------- src/com/android/terminal/Terminal.java | 22 +++++++++--------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/jni/com_android_terminal_Terminal.cpp b/jni/com_android_terminal_Terminal.cpp index 8260316..9dc9139 100644 --- a/jni/com_android_terminal_Terminal.cpp +++ b/jni/com_android_terminal_Terminal.cpp @@ -550,24 +550,24 @@ jobject Terminal::getCallbacks() const { * JNI glue */ -static jint com_android_terminal_Terminal_nativeInit(JNIEnv* env, jclass clazz, jobject callbacks, +static jlong com_android_terminal_Terminal_nativeInit(JNIEnv* env, jclass clazz, jobject callbacks, jint rows, jint cols) { - return reinterpret_cast(new Terminal(callbacks, rows, cols)); + return reinterpret_cast(new Terminal(callbacks, rows, cols)); } -static jint com_android_terminal_Terminal_nativeDestroy(JNIEnv* env, jclass clazz, jint ptr) { +static jint com_android_terminal_Terminal_nativeDestroy(JNIEnv* env, jclass clazz, jlong ptr) { Terminal* term = reinterpret_cast(ptr); delete term; return 0; } -static jint com_android_terminal_Terminal_nativeRun(JNIEnv* env, jclass clazz, jint ptr) { +static jint com_android_terminal_Terminal_nativeRun(JNIEnv* env, jclass clazz, jlong ptr) { Terminal* term = reinterpret_cast(ptr); return term->run(); } static jint com_android_terminal_Terminal_nativeResize(JNIEnv* env, - jclass clazz, jint ptr, jint rows, jint cols, jint scrollRows) { + jclass clazz, jlong ptr, jint rows, jint cols, jint scrollRows) { Terminal* term = reinterpret_cast(ptr); return term->resize(rows, cols, scrollRows); } @@ -592,7 +592,7 @@ static inline bool isCellStyleEqual(const VTermScreenCell& a, const VTermScreenC } static jint com_android_terminal_Terminal_nativeGetCellRun(JNIEnv* env, - jclass clazz, jint ptr, jint row, jint col, jobject run) { + jclass clazz, jlong ptr, jint row, jint col, jobject run) { Terminal* term = reinterpret_cast(ptr); Mutex::Autolock lock(term->mLock); @@ -653,44 +653,44 @@ static jint com_android_terminal_Terminal_nativeGetCellRun(JNIEnv* env, return 0; } -static jint com_android_terminal_Terminal_nativeGetRows(JNIEnv* env, jclass clazz, jint ptr) { +static jint com_android_terminal_Terminal_nativeGetRows(JNIEnv* env, jclass clazz, jlong ptr) { Terminal* term = reinterpret_cast(ptr); return term->getRows(); } -static jint com_android_terminal_Terminal_nativeGetCols(JNIEnv* env, jclass clazz, jint ptr) { +static jint com_android_terminal_Terminal_nativeGetCols(JNIEnv* env, jclass clazz, jlong ptr) { Terminal* term = reinterpret_cast(ptr); return term->getCols(); } -static jint com_android_terminal_Terminal_nativeGetScrollRows(JNIEnv* env, jclass clazz, jint ptr) { +static jint com_android_terminal_Terminal_nativeGetScrollRows(JNIEnv* env, jclass clazz, jlong ptr) { Terminal* term = reinterpret_cast(ptr); return term->getScrollRows(); } static jboolean com_android_terminal_Terminal_nativeDispatchCharacter(JNIEnv *env, jclass clazz, - jint ptr, jint mod, jint c) { + jlong ptr, jint mod, jint c) { Terminal* term = reinterpret_cast(ptr); return term->dispatchCharacter(mod, c); } static jboolean com_android_terminal_Terminal_nativeDispatchKey(JNIEnv *env, jclass clazz, - jint ptr, jint mod, jint c) { + jlong ptr, jint mod, jint c) { Terminal* term = reinterpret_cast(ptr); return term->dispatchKey(mod, c); } static JNINativeMethod gMethods[] = { - { "nativeInit", "(Lcom/android/terminal/TerminalCallbacks;II)I", (void*)com_android_terminal_Terminal_nativeInit }, - { "nativeDestroy", "(I)I", (void*)com_android_terminal_Terminal_nativeDestroy }, - { "nativeRun", "(I)I", (void*)com_android_terminal_Terminal_nativeRun }, - { "nativeResize", "(IIII)I", (void*)com_android_terminal_Terminal_nativeResize }, - { "nativeGetCellRun", "(IIILcom/android/terminal/Terminal$CellRun;)I", (void*)com_android_terminal_Terminal_nativeGetCellRun }, - { "nativeGetRows", "(I)I", (void*)com_android_terminal_Terminal_nativeGetRows }, - { "nativeGetCols", "(I)I", (void*)com_android_terminal_Terminal_nativeGetCols }, - { "nativeGetScrollRows", "(I)I", (void*)com_android_terminal_Terminal_nativeGetScrollRows }, - { "nativeDispatchCharacter", "(III)Z", (void*)com_android_terminal_Terminal_nativeDispatchCharacter}, - { "nativeDispatchKey", "(III)Z", (void*)com_android_terminal_Terminal_nativeDispatchKey }, + { "nativeInit", "(Lcom/android/terminal/TerminalCallbacks;II)L", (void*)com_android_terminal_Terminal_nativeInit }, + { "nativeDestroy", "(J)I", (void*)com_android_terminal_Terminal_nativeDestroy }, + { "nativeRun", "(J)I", (void*)com_android_terminal_Terminal_nativeRun }, + { "nativeResize", "(JIII)I", (void*)com_android_terminal_Terminal_nativeResize }, + { "nativeGetCellRun", "(JIILcom/android/terminal/Terminal$CellRun;)I", (void*)com_android_terminal_Terminal_nativeGetCellRun }, + { "nativeGetRows", "(J)I", (void*)com_android_terminal_Terminal_nativeGetRows }, + { "nativeGetCols", "(J)I", (void*)com_android_terminal_Terminal_nativeGetCols }, + { "nativeGetScrollRows", "(J)I", (void*)com_android_terminal_Terminal_nativeGetScrollRows }, + { "nativeDispatchCharacter", "(JII)Z", (void*)com_android_terminal_Terminal_nativeDispatchCharacter}, + { "nativeDispatchKey", "(JII)Z", (void*)com_android_terminal_Terminal_nativeDispatchKey }, }; int register_com_android_terminal_Terminal(JNIEnv* env) { diff --git a/src/com/android/terminal/Terminal.java b/src/com/android/terminal/Terminal.java index cdf3f60..c8739b1 100644 --- a/src/com/android/terminal/Terminal.java +++ b/src/com/android/terminal/Terminal.java @@ -61,7 +61,7 @@ public class Terminal { public void onBell(); } - private final int mNativePtr; + private final long mNativePtr; private final Thread mThread; private String mTitle; @@ -162,16 +162,16 @@ public class Terminal { return nativeDispatchCharacter(mNativePtr, modifiers, character); } - private static native int nativeInit(TerminalCallbacks callbacks, int rows, int cols); - private static native int nativeDestroy(int ptr); + private static native long nativeInit(TerminalCallbacks callbacks, int rows, int cols); + private static native int nativeDestroy(long ptr); - private static native int nativeRun(int ptr); - private static native int nativeResize(int ptr, int rows, int cols, int scrollRows); - private static native int nativeGetCellRun(int ptr, int row, int col, CellRun run); - private static native int nativeGetRows(int ptr); - private static native int nativeGetCols(int ptr); - private static native int nativeGetScrollRows(int ptr); + private static native int nativeRun(long ptr); + private static native int nativeResize(long ptr, int rows, int cols, int scrollRows); + private static native int nativeGetCellRun(long ptr, int row, int col, CellRun run); + private static native int nativeGetRows(long ptr); + private static native int nativeGetCols(long ptr); + private static native int nativeGetScrollRows(long ptr); - private static native boolean nativeDispatchKey(int ptr, int modifiers, int key); - private static native boolean nativeDispatchCharacter(int ptr, int modifiers, int character); + private static native boolean nativeDispatchKey(long ptr, int modifiers, int key); + private static native boolean nativeDispatchCharacter(long ptr, int modifiers, int character); } -- cgit v1.2.3