2702 // So long as UTF8::convert_to_utf8 returns resource strings, we don't have to do anything 2703 JVM_END 2704 2705 2706 JVM_ENTRY(jboolean, JVM_IsSameClassPackage(JNIEnv *env, jclass class1, jclass class2)) 2707 JVMWrapper("JVM_IsSameClassPackage"); 2708 oop class1_mirror = JNIHandles::resolve_non_null(class1); 2709 oop class2_mirror = JNIHandles::resolve_non_null(class2); 2710 Klass* klass1 = java_lang_Class::as_Klass(class1_mirror); 2711 Klass* klass2 = java_lang_Class::as_Klass(class2_mirror); 2712 return (jboolean) Reflection::is_same_class_package(klass1, klass2); 2713 JVM_END 2714 2715 // Printing support ////////////////////////////////////////////////// 2716 extern "C" { 2717 2718 ATTRIBUTE_PRINTF(3, 0) 2719 int jio_vsnprintf(char *str, size_t count, const char *fmt, va_list args) { 2720 // Reject count values that are negative signed values converted to 2721 // unsigned; see bug 4399518, 4417214 2722 if ((intptr_t)count <= 0) return -1; 2723 2724 int result = os::vsnprintf(str, count, fmt, args); 2725 if (result > 0 && (size_t)result >= count) { 2726 result = -1; 2727 } 2728 2729 return result; 2730 } 2731 2732 ATTRIBUTE_PRINTF(3, 4) 2733 int jio_snprintf(char *str, size_t count, const char *fmt, ...) { 2734 va_list args; 2735 int len; 2736 va_start(args, fmt); 2737 len = jio_vsnprintf(str, count, fmt, args); 2738 va_end(args); 2739 return len; 2740 } 2741 2742 ATTRIBUTE_PRINTF(2, 3) 2743 int jio_fprintf(FILE* f, const char *fmt, ...) { 2744 int len; 2745 va_list args; | 2702 // So long as UTF8::convert_to_utf8 returns resource strings, we don't have to do anything 2703 JVM_END 2704 2705 2706 JVM_ENTRY(jboolean, JVM_IsSameClassPackage(JNIEnv *env, jclass class1, jclass class2)) 2707 JVMWrapper("JVM_IsSameClassPackage"); 2708 oop class1_mirror = JNIHandles::resolve_non_null(class1); 2709 oop class2_mirror = JNIHandles::resolve_non_null(class2); 2710 Klass* klass1 = java_lang_Class::as_Klass(class1_mirror); 2711 Klass* klass2 = java_lang_Class::as_Klass(class2_mirror); 2712 return (jboolean) Reflection::is_same_class_package(klass1, klass2); 2713 JVM_END 2714 2715 // Printing support ////////////////////////////////////////////////// 2716 extern "C" { 2717 2718 ATTRIBUTE_PRINTF(3, 0) 2719 int jio_vsnprintf(char *str, size_t count, const char *fmt, va_list args) { 2720 // Reject count values that are negative signed values converted to 2721 // unsigned; see bug 4399518, 4417214 2722 if ((intptr_t)count < 0) return -1; 2723 2724 int result = os::vsnprintf(str, count, fmt, args); 2725 if (count > 0 && result > 0 && (size_t)result >= count) { 2726 result = -1; 2727 } 2728 2729 return result; 2730 } 2731 2732 ATTRIBUTE_PRINTF(3, 4) 2733 int jio_snprintf(char *str, size_t count, const char *fmt, ...) { 2734 va_list args; 2735 int len; 2736 va_start(args, fmt); 2737 len = jio_vsnprintf(str, count, fmt, args); 2738 va_end(args); 2739 return len; 2740 } 2741 2742 ATTRIBUTE_PRINTF(2, 3) 2743 int jio_fprintf(FILE* f, const char *fmt, ...) { 2744 int len; 2745 va_list args; |