< prev index next >

src/java.base/share/native/libjava/System.c

Print this page

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;
< prev index next >