Terminal: fix compiling for 64-bit

Use jlong to store the native pointer.

Change-Id: I0d35871da53f08b8835c35a3675fb958e9ec230a
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 @@
  * 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<jint>(new Terminal(callbacks, rows, cols));
+    return reinterpret_cast<jlong>(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<Terminal*>(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<Terminal*>(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<Terminal*>(ptr);
     return term->resize(rows, cols, scrollRows);
 }
@@ -592,7 +592,7 @@
 }
 
 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<Terminal*>(ptr);
     Mutex::Autolock lock(term->mLock);
 
@@ -653,44 +653,44 @@
     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<Terminal*>(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<Terminal*>(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<Terminal*>(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<Terminal*>(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<Terminal*>(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 void onBell();
     }
 
-    private final int mNativePtr;
+    private final long mNativePtr;
     private final Thread mThread;
 
     private String mTitle;
@@ -162,16 +162,16 @@
         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);
 }