A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
java: setup a RAII wrapper to properly deal with GetStringUTFChars/ReleaseStringUTFChar
[simgrid.git]
/
src
/
bindings
/
java
/
jmsg_vm.cpp
diff --git
a/src/bindings/java/jmsg_vm.cpp
b/src/bindings/java/jmsg_vm.cpp
index
ed2126b
..
6b2fd2a
100644
(file)
--- a/
src/bindings/java/jmsg_vm.cpp
+++ b/
src/bindings/java/jmsg_vm.cpp
@@
-71,10
+71,9
@@
JNIEXPORT void JNICALL Java_org_simgrid_msg_VM_create(JNIEnv* env, jobject jVm,
{
sg_host_t host = jhost_get_native(env, jHost);
-
const char* name = env->GetStringUTFChars(jname, nullptr
);
+
jstring_wrapper name(env, jname
);
sg_vm_t vm = sg_vm_create_migratable(host, name, static_cast<int>(coreAmount), static_cast<int>(jramsize),
static_cast<int>(jmig_netspeed), static_cast<int>(jdp_intensity));
- env->ReleaseStringUTFChars(jname, name);
jvm_bind(env, jVm, vm);
jVm = env->NewGlobalRef(jVm);
@@
-175,16
+174,14
@@
JNIEXPORT jobject JNICALL Java_org_simgrid_msg_VM_getVMByName(JNIEnv* env, jclas
jxbt_throw_null(env, "No VM can have a null name");
return nullptr;
}
-
const char* name = env->GetStringUTFChars(jname, nullptr
);
+
jstring_wrapper name(env, jname
);
/* get the VM by name (VMs are just special hosts, unfortunately) */
auto const* host = sg_host_by_name(name);
if (not host) { /* invalid name */
jxbt_throw_host_not_found(env, name);
- env->ReleaseStringUTFChars(jname, name);
return nullptr;
}
- env->ReleaseStringUTFChars(jname, name);
return static_cast<jobject>(host->extension(JAVA_HOST_LEVEL));
}