diff --git a/src/runtime/java/jni_utils.c b/src/runtime/java/jni_utils.c index 120233975..59c4a7e54 100644 --- a/src/runtime/java/jni_utils.c +++ b/src/runtime/java/jni_utils.c @@ -11,7 +11,7 @@ #define l2p(x) ((void*) (intptr_t) (x)) #define p2l(x) ((jlong) (intptr_t) (x)) -jstring +JPGF_INTERNAL jstring gu2j_string(JNIEnv *env, GuString s) { const char* utf8 = s; size_t len = strlen(s); @@ -33,7 +33,7 @@ gu2j_string(JNIEnv *env, GuString s) { return (*env)->NewString(env, utf16, dst-utf16); } -jstring +JPGF_INTERNAL jstring gu2j_string_buf(JNIEnv *env, GuStringBuf* sbuf) { const char* s = gu_string_buf_data(sbuf); const char* utf8 = s; @@ -56,7 +56,7 @@ gu2j_string_buf(JNIEnv *env, GuStringBuf* sbuf) { return (*env)->NewString(env, utf16, dst-utf16); } -GuString +JPGF_INTERNAL GuString j2gu_string(JNIEnv *env, jstring s, GuPool* pool) { GuString str = (*env)->GetStringUTFChars(env, s, 0); GuString copy = gu_string_copy(str, pool); @@ -64,7 +64,7 @@ j2gu_string(JNIEnv *env, jstring s, GuPool* pool) { return copy; } -size_t +JPGF_INTERNAL size_t gu2j_string_offset(GuString s, size_t offset) { const char* utf8 = s; size_t joffset = 0; @@ -75,7 +75,7 @@ gu2j_string_offset(GuString s, size_t offset) { return joffset; } -size_t +JPGF_INTERNAL size_t j2gu_string_offset(GuString s, size_t joffset) { const char* utf8 = s; while (joffset > 0) { @@ -85,13 +85,13 @@ j2gu_string_offset(GuString s, size_t joffset) { return utf8-s; } -void* +JPGF_INTERNAL void* get_ref(JNIEnv *env, jobject self) { jfieldID refId = (*env)->GetFieldID(env, (*env)->GetObjectClass(env, self), "ref", "J"); return l2p((*env)->GetLongField(env, self, refId)); } -void +JPGF_INTERNAL void throw_jstring_exception(JNIEnv *env, const char* class_name, jstring msg) { jclass exception_class = (*env)->FindClass(env, class_name); @@ -106,7 +106,7 @@ throw_jstring_exception(JNIEnv *env, const char* class_name, jstring msg) (*env)->Throw(env, exception); } -void +JPGF_INTERNAL void throw_string_exception(JNIEnv *env, const char* class_name, const char* msg) { jstring jmsg = (*env)->NewStringUTF(env, msg); diff --git a/src/runtime/java/jni_utils.h b/src/runtime/java/jni_utils.h index 4247b99a1..f2d050092 100644 --- a/src/runtime/java/jni_utils.h +++ b/src/runtime/java/jni_utils.h @@ -1,31 +1,44 @@ #ifndef JNI_UTILS #define JNI_UTILS +#if defined(_MSC_VER) + +#define JPGF_INTERNAL_DECL +#define JPGF_INTERNAL + +#else + +#define JPGF_INTERNAL_DECL __attribute__ ((visibility ("hidden"))) +#define JPGF_INTERNAL __attribute__ ((visibility ("hidden"))) + +#endif + + #define l2p(x) ((void*) (intptr_t) (x)) #define p2l(x) ((jlong) (intptr_t) (x)) -jstring +JPGF_INTERNAL_DECL jstring gu2j_string(JNIEnv *env, GuString s); -jstring +JPGF_INTERNAL_DECL jstring gu2j_string_buf(JNIEnv *env, GuStringBuf* sbuf); -GuString +JPGF_INTERNAL_DECL GuString j2gu_string(JNIEnv *env, jstring s, GuPool* pool); -size_t +JPGF_INTERNAL_DECL size_t gu2j_string_offset(GuString s, size_t offset); -size_t +JPGF_INTERNAL_DECL size_t j2gu_string_offset(GuString s, size_t joffset); -void* +JPGF_INTERNAL_DECL void* get_ref(JNIEnv *env, jobject self); -void +JPGF_INTERNAL_DECL void throw_jstring_exception(JNIEnv *env, const char* class_name, jstring msg); -void +JPGF_INTERNAL_DECL void throw_string_exception(JNIEnv *env, const char* class_name, const char* msg); #endif