const char *storage = (*env)->GetStringUTFChars(env, jstorage, 0);
const char *path = (*env)->GetStringUTFChars(env, jpath, 0);
const char *mode = (*env)->GetStringUTFChars(env, jmode, 0);
-
- msg_file_t file = MSG_file_open(storage, path, mode);
-
+ msg_file_t file;
+ xbt_ex_t e;
+ TRY {
+ file = MSG_file_open(storage, path, mode);
+ }
+ CATCH(e) {
+ xbt_ex_free(e);
+ }
jfile_bind(env, jfile, file);
(*env)->ReleaseStringUTFChars(env, jstorage, storage);
JNIEXPORT jlong JNICALL
Java_org_simgrid_msg_File_read(JNIEnv *env, jobject jfile, jlong jsize, jlong jnmemb) {
msg_file_t file = jfile_get_native(env, jfile);
-
- size_t n = MSG_file_read(NULL,(size_t)jsize, (size_t)jnmemb, file);
-
+ size_t n;
+ xbt_ex_t e;
+ TRY {
+ n = MSG_file_read(NULL,(size_t)jsize, (size_t)jnmemb, file);
+ }
+ CATCH (e) {
+ xbt_ex_free(e);
+ }
return (jlong)n;
}
JNIEXPORT jlong JNICALL
Java_org_simgrid_msg_File_write(JNIEnv *env, jobject jfile, jlong jsize, jlong jnmemb) {
msg_file_t file = jfile_get_native(env, jfile);
-
- size_t n = MSG_file_write(NULL, (size_t)jsize, (size_t)jnmemb, file);
-
+ xbt_ex_t e;
+ size_t n;
+ TRY {
+ n = MSG_file_write(NULL, (size_t)jsize, (size_t)jnmemb, file);
+ }
+ CATCH(e) {
+ xbt_ex_free(e);
+ }
return (jlong)n;
}
JNIEXPORT void JNICALL