Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix compilation problem with tracing
[simgrid.git] / src / jxbt_utilities.h
index 08bd391..c395041 100644 (file)
@@ -53,18 +53,20 @@ jfieldID jxbt_get_sfield(JNIEnv * env, const char *classname,
 /* ***************** */
 
 #define jxbt_check_res(fun, res, allowed_exceptions, detail) do {\
-    if (res != MSG_OK && res | allowed_exceptions) { \
-      xbt_die(bprintf("%s failed with error code %d, which is not an allowed exception. Please fix me.",fun,res)); \
+    if (res != MSG_OK && (res | allowed_exceptions)) { \
+      xbt_die("%s failed with error code %d, which is not an allowed exception. Please fix me.",fun,res); \
     } else if (res == MSG_HOST_FAILURE) { \
       jxbt_throw_host_failure(env, detail); \
     } else if (res == MSG_TRANSFER_FAILURE) { \
       jxbt_throw_transfer_failure(env,detail); \
     } else if (res == MSG_TIMEOUT) { \
       jxbt_throw_time_out_failure(env,detail); \
-    } else if (res == MSG_TASK_CANCELLED){ \
+    } else if (res == MSG_TASK_CANCELED){ \
       jxbt_throw_task_cancelled(env,detail); \
    } } while (0)
 
+/* Throws an exception according to its name */
+void jxbt_throw_by_name(JNIEnv * env, const char *name, char *msg);
 /** Thrown on internal error of this layer, or on problem with JNI */
 void jxbt_throw_jni(JNIEnv * env, const char *msg);
 /** Thrown when using an object not bound to a native one where it should, or reverse (kinda JNI issue) */