void releaseStringArrayInGList(JNIEnv* env, jobjectArray strings, GList* list) { jsize len = (*env)->GetArrayLength(env, strings); int index; jstring aString; for (index = 0; index < len; index++) { aString = (jstring)(*env)->GetObjectArrayElement(env, strings, (jsize)index); (*env)->ReleaseStringUTFChars(env, aString, (gchar*)g_list_nth_data(list, index)); } } ==================================== void releaseStringArrayInGList(JNIEnv* env, jobjectArray strings, GList* list) { jstring aString; GList *it; int index = 0; for (it = list; it != NULL; it = it->next) { aString = (jstring)(*env)->GetObjectArrayElement(env, strings, (jsize)index); (*env)->ReleaseStringUTFChars(env, aString, (gchar*)it->data); index++; } }