< prev index next >

src/hotspot/share/prims/jvm.cpp

Print this page




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;


< prev index next >