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.cpp
diff --git
a/src/bindings/java/jmsg.cpp
b/src/bindings/java/jmsg.cpp
index
010838b
..
bdc6661
100644
(file)
--- a/
src/bindings/java/jmsg.cpp
+++ b/
src/bindings/java/jmsg.cpp
@@
-104,9
+104,8
@@
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_init(JNIEnv* env, jclass, jobjec
args.emplace_back("java");
for (int index = 1; index < argc; index++) {
auto jval = (jstring)env->GetObjectArrayElement(jargs, index - 1);
args.emplace_back("java");
for (int index = 1; index < argc; index++) {
auto jval = (jstring)env->GetObjectArrayElement(jargs, index - 1);
- const char* tmp = env->GetStringUTFChars(jval, nullptr);
- args.emplace_back(tmp);
- env->ReleaseStringUTFChars(jval, tmp);
+ jstring_wrapper tmp(env, jval);
+ args.emplace_back(tmp.value);
}
std::unique_ptr<char* []> argv(new char*[argc + 1]);
}
std::unique_ptr<char* []> argv(new char*[argc + 1]);
@@
-150,11
+149,8
@@
JNIEXPORT void JNICALL JNICALL Java_org_simgrid_msg_Msg_run(JNIEnv* env, jclass)
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_createEnvironment(JNIEnv* env, jclass, jstring jplatformFile)
{
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_createEnvironment(JNIEnv* env, jclass, jstring jplatformFile)
{
- const char* platformFile = env->GetStringUTFChars(jplatformFile, nullptr);
-
+ jstring_wrapper platformFile(env, jplatformFile);
simgrid_load_platform(platformFile);
simgrid_load_platform(platformFile);
-
- env->ReleaseStringUTFChars(jplatformFile, platformFile);
}
JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Msg_environmentGetRoutingRoot(JNIEnv* env, jclass)
}
JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Msg_environmentGetRoutingRoot(JNIEnv* env, jclass)
@@
-177,51
+173,45
@@
JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Msg_environmentGetRoutingRoot(JNI
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_debug(JNIEnv* env, jclass, jstring js)
{
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_debug(JNIEnv* env, jclass, jstring js)
{
- const char* s = env->GetStringUTFChars(js, nullptr);
- XBT_DEBUG("%s", s);
- env->ReleaseStringUTFChars(js, s);
+ jstring_wrapper s(env, js);
+ XBT_DEBUG("%s", s.value);
}
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_verb(JNIEnv* env, jclass, jstring js)
{
}
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_verb(JNIEnv* env, jclass, jstring js)
{
- const char* s = env->GetStringUTFChars(js, nullptr);
- XBT_VERB("%s", s);
- env->ReleaseStringUTFChars(js, s);
+ jstring_wrapper s(env, js);
+ XBT_VERB("%s", s.value);
}
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_info(JNIEnv* env, jclass, jstring js)
{
}
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_info(JNIEnv* env, jclass, jstring js)
{
- const char* s = env->GetStringUTFChars(js, nullptr);
- XBT_INFO("%s", s);
- env->ReleaseStringUTFChars(js, s);
+ jstring_wrapper s(env, js);
+ XBT_INFO("%s", s.value);
}
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_warn(JNIEnv* env, jclass, jstring js)
{
}
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_warn(JNIEnv* env, jclass, jstring js)
{
- const char* s = env->GetStringUTFChars(js, nullptr);
- XBT_WARN("%s", s);
- env->ReleaseStringUTFChars(js, s);
+ jstring_wrapper s(env, js);
+ XBT_WARN("%s", s.value);
}
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_error(JNIEnv* env, jclass, jstring js)
{
}
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_error(JNIEnv* env, jclass, jstring js)
{
- const char* s = env->GetStringUTFChars(js, nullptr);
- XBT_ERROR("%s", s);
- env->ReleaseStringUTFChars(js, s);
+ jstring_wrapper s(env, js);
+ XBT_ERROR("%s", s.value);
}
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_critical(JNIEnv* env, jclass, jstring js)
{
}
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_critical(JNIEnv* env, jclass, jstring js)
{
- const char* s = env->GetStringUTFChars(js, nullptr);
- XBT_CRITICAL("%s", s);
- env->ReleaseStringUTFChars(js, s);
+ jstring_wrapper s(env, js);
+ XBT_CRITICAL("%s", s.value);
}
static void java_main(int argc, char* argv[]);
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_deployApplication(JNIEnv* env, jclass, jstring jdeploymentFile)
{
}
static void java_main(int argc, char* argv[]);
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_deployApplication(JNIEnv* env, jclass, jstring jdeploymentFile)
{
-
const char* deploymentFile = env->GetStringUTFChars(jdeploymentFile, nullptr
);
+
jstring_wrapper deploymentFile(env, jdeploymentFile
);
simgrid_register_default(java_main);
simgrid_load_deployment(deploymentFile);
simgrid_register_default(java_main);
simgrid_load_deployment(deploymentFile);