Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Correctly cast pointers into uintptr_t to fit into the (stupid) LLP64 data model
[simgrid.git] / src / bindings / java / jmsg_as.c
index 3589783..85dbcb3 100644 (file)
@@ -1,16 +1,19 @@
 /* Functions related to the java host instances.                            */
 
-/* Copyright (c) 2007-2013. The SimGrid Team.
+/* Copyright (c) 2007-2015. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
 * under the terms of the license (GNU LGPL) which comes with this package. */
+ * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include "xbt/str.h"
 #include "xbt/dict.h"
-#include "msg/msg.h"
+#include "simgrid/msg.h"
 #include "jmsg_as.h"
+#include "jmsg_host.h"
 #include "jxbt_utilities.h"
+#include "jmsg.h"
+
 
 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(jmsg);
 
@@ -31,11 +34,11 @@ void jas_unref(JNIEnv * env, jobject jas) {
 }
 
 void jas_bind(jobject jas, msg_as_t as, JNIEnv * env) {
-  (*env)->SetLongField(env, jas, jas_field_As_bind, (jlong) (long) (as));
+  (*env)->SetLongField(env, jas, jas_field_As_bind, (jlong) (uintptr_t) (as));
 }
 
 msg_as_t jas_get_native(JNIEnv * env, jobject jas) {
-  return (msg_as_t) (long) (*env)->GetLongField(env, jas, jas_field_As_bind);
+  return (msg_as_t) (uintptr_t) (*env)->GetLongField(env, jas, jas_field_As_bind);
 }
 
 JNIEXPORT void JNICALL
@@ -158,7 +161,7 @@ Java_org_simgrid_msg_As_getHosts(JNIEnv * env, jobject jas)
 
     host = xbt_dynar_get_as(table,index,msg_host_t);
 
-    jhost = (jobject) (MSG_host_get_data(host));
+    jhost = (jobject) xbt_lib_get_level(host, JAVA_HOST_LEVEL);
     if (!jhost) {
       jname = (*env)->NewStringUTF(env, MSG_host_get_name(host));