* src/native/jni.h: Removed.
[cacao.git] / tests / regression / native / testarguments.c
index 4d48aa093b3d0f32b16f1ade47003248ddfb7314..8c95c8a697aa66acc75fe46c6c6723717ad0d8d0 100644 (file)
@@ -1,9 +1,7 @@
 /* tests/regression/native/testarguments.c - tests argument passing
 
-   Copyright (C) 1996-2005, 2006, 2007 R. Grafl, A. Krall, C. Kruegel,
-   C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
-   E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
-   TU Wien
+   Copyright (C) 1996-2005, 2006, 2007, 2008
+   CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 
    This file is part of CACAO.
 
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: testarguments.c 8123 2007-06-20 23:50:55Z michi $
-
 */
 
 
 #include "config.h"
 
 #include <stdio.h>
+#include <stdlib.h>
 
-#include "native/jni.h"
+#include "native/jni.hpp"
 
 
 JNIEXPORT jobject JNICALL Java_testarguments_adr(JNIEnv *env, jclass clazz, jint i)
 {
-  switch (i) {
-  case 1:
-    return (jobject) 0x11111111;
-  case 2:
-    return (jobject) 0x22222222;
-  case 3:
-    return (jobject) 0x33333333;
-  case 4:
-    return (jobject) 0x44444444;
-  case 5:
-    return (jobject) 0x55555555;
-  case 6:
-    return (jobject) 0x66666666;
-  case 7:
-    return (jobject) 0x77777777;
-  case 8:
-    return (jobject) 0x88888888;
-  case 9:
-    return (jobject) 0x99999999;
-  case 10:
-    return (jobject) 0xaaaaaaaa;
-  case 11:
-    return (jobject) 0xbbbbbbbb;
-  case 12:
-    return (jobject) 0xcccccccc;
-  case 13:
-    return (jobject) 0xdddddddd;
-  case 14:
-    return (jobject) 0xeeeeeeee;
-  case 15:
-    return (jobject) 0xffffffff;
-  }
+  intptr_t p;
+
+  p = 0x11111111 * ((intptr_t) i);
+
+#if defined(ENABLE_HANDLES)
+  return (*env)->NewLocalRef(env, &p);
+#else
+  return (jobject) p;
+#endif
 }
 
 
 JNIEXPORT void JNICALL Java_testarguments_np(JNIEnv *env, jclass clazz, jobject o)
 {
+#if defined(ENABLE_HANDLES)
+    intptr_t p = *((intptr_t *) o);
+#else
+    intptr_t p = (intptr_t) o;
+#endif
+
 #if SIZEOF_VOID_P == 8
-    printf(" 0x%lx", (long) o);
+    printf(" 0x%lx", (long) p);
 #else
-    printf(" 0x%x", (int) o);
+    printf(" 0x%x", (int) p);
 #endif
 
     fflush(stdout);
@@ -203,10 +183,22 @@ JNIEXPORT void JNICALL Java_testarguments_nasub(JNIEnv *env, jclass clazz, jobje
 {
     jmethodID mid;
 
-#if SIZEOF_VOID_P == 8
-    printf("java-native: 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx\n", (long) a, (long) b, (long) c, (long) d, (long) e, (long) f, (long) g, (long) h, (long) i, (long) j, (long) k, (long) l, (long) m, (long) n, (long) o);
+#if defined(ENABLE_HANDLES)
+
+# if SIZEOF_VOID_P == 8
+    printf("java-native: 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx\n", *((long*) a), *((long*) b), *((long*) c), *((long*) d), *((long*) e), *((long*) f), *((long*) g), *((long*) h), *((long*) i), *((long*) j), *((long*) k), *((long*) l), *((long*) m), *((long*) n), *((long*) o));
+# else
+    printf("java-native: 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n", *((int*) a), *((int*) b), *((int*) c), *((int*) d), *((int*) e), *((int*) f), *((int*) g), *((int*) h), *((int*) i), *((int*) j), *((int*) k), *((int*) l), *((int*) m), *((int*) n), *((int*) o));
+# endif
+
 #else
+
+# if SIZEOF_VOID_P == 8
+    printf("java-native: 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx\n", (long) a, (long) b, (long) c, (long) d, (long) e, (long) f, (long) g, (long) h, (long) i, (long) j, (long) k, (long) l, (long) m, (long) n, (long) o);
+# else
     printf("java-native: 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n", (int) a, (int) b, (int) c, (int) d, (int) e, (int) f, (int) g, (int) h, (int) i, (int) j, (int) k, (int) l, (int) m, (int) n, (int) o);
+# endif
+
 #endif
 
     fflush(stdout);