275 }
276
277 JNIEXPORT void JNICALL
278 Java_java_lang_System_setErr0(JNIEnv *env, jclass cla, jobject stream)
279 {
280 jfieldID fid =
281 (*env)->GetStaticFieldID(env,cla,"err","Ljava/io/PrintStream;");
282 if (fid == 0)
283 return;
284 (*env)->SetStaticObjectField(env,cla,fid,stream);
285 }
286
287 static void cpchars(jchar *dst, char *src, int n)
288 {
289 int i;
290 for (i = 0; i < n; i++) {
291 dst[i] = src[i];
292 }
293 }
294
295 JNIEXPORT jstring JNICALL
296 Java_java_lang_System_mapLibraryName(JNIEnv *env, jclass ign, jstring libname)
297 {
298 int len;
299 int prefix_len = (int) strlen(JNI_LIB_PREFIX);
300 int suffix_len = (int) strlen(JNI_LIB_SUFFIX);
301
302 jchar chars[256];
303 if (libname == NULL) {
304 JNU_ThrowNullPointerException(env, 0);
305 return NULL;
306 }
307 len = (*env)->GetStringLength(env, libname);
308 if (len > 240) {
309 JNU_ThrowIllegalArgumentException(env, "name too long");
310 return NULL;
311 }
312 cpchars(chars, JNI_LIB_PREFIX, prefix_len);
313 (*env)->GetStringRegion(env, libname, 0, len, chars + prefix_len);
314 len += prefix_len;
|
275 }
276
277 JNIEXPORT void JNICALL
278 Java_java_lang_System_setErr0(JNIEnv *env, jclass cla, jobject stream)
279 {
280 jfieldID fid =
281 (*env)->GetStaticFieldID(env,cla,"err","Ljava/io/PrintStream;");
282 if (fid == 0)
283 return;
284 (*env)->SetStaticObjectField(env,cla,fid,stream);
285 }
286
287 static void cpchars(jchar *dst, char *src, int n)
288 {
289 int i;
290 for (i = 0; i < n; i++) {
291 dst[i] = src[i];
292 }
293 }
294
295 JNIEXPORT jboolean JNICALL
296 Java_java_lang_System_AOTIsTraining(JNIEnv *env, jclass ign)
297 {
298 jboolean isTraining = JVM_AOTIsTraining(env);
299 return isTraining;
300 }
301
302 JNIEXPORT void JNICALL
303 Java_java_lang_System_AOTEndTraining(JNIEnv *env, jclass ign)
304 {
305 JVM_AOTEndTraining(env);
306 }
307
308 JNIEXPORT jstring JNICALL
309 Java_java_lang_System_mapLibraryName(JNIEnv *env, jclass ign, jstring libname)
310 {
311 int len;
312 int prefix_len = (int) strlen(JNI_LIB_PREFIX);
313 int suffix_len = (int) strlen(JNI_LIB_SUFFIX);
314
315 jchar chars[256];
316 if (libname == NULL) {
317 JNU_ThrowNullPointerException(env, 0);
318 return NULL;
319 }
320 len = (*env)->GetStringLength(env, libname);
321 if (len > 240) {
322 JNU_ThrowIllegalArgumentException(env, "name too long");
323 return NULL;
324 }
325 cpchars(chars, JNI_LIB_PREFIX, prefix_len);
326 (*env)->GetStringRegion(env, libname, 0, len, chars + prefix_len);
327 len += prefix_len;
|