simgrid::s4u::NetZone* as = jnetzone_get_native(env, jas);
jclass cls = jxbt_get_class(env, "org/simgrid/msg/Host");
- std::vector<sg_host_t>* table = as->hosts();
if (!cls)
return nullptr;
- jtable = env->NewObjectArray(static_cast<jsize>(table->size()), cls, nullptr);
+ std::vector<sg_host_t> table;
+ as->hosts(&table);
+
+ jtable = env->NewObjectArray(static_cast<jsize>(table.size()), cls, nullptr);
if (!jtable) {
jxbt_throw_jni(env, "Hosts table allocation failed");
}
int index = 0;
- for (auto host : *table) {
+ for (auto host : table) {
jhost = static_cast<jobject>(host->extension(JAVA_HOST_LEVEL));
if (!jhost) {
jname = env->NewStringUTF(host->cname());