diff --git a/src/java/org/lwjgl/fmod3/FMOD.java b/src/java/org/lwjgl/fmod3/FMOD.java index ec4b2fe6..2bb58f7a 100644 --- a/src/java/org/lwjgl/fmod3/FMOD.java +++ b/src/java/org/lwjgl/fmod3/FMOD.java @@ -194,6 +194,9 @@ public class FMOD { /** Version of FMOD */ public static final String VERSION = "1.0beta3"; + + /** Current version of the JNI library */ + static final int JNI_VERSION = 1; static { initialize(); @@ -211,10 +214,10 @@ public class FMOD { loadLibrary(JNI_LIBRARY_NAME); // check for mismatch - String nativeVersion = getNativeLibraryVersion(); - if (!nativeVersion.equals(VERSION)) { + int nativeVersion = getNativeLibraryVersion(); + if (nativeVersion != JNI_VERSION) { throw new LinkageError( - "Version mismatch: jar version is '" + VERSION + + "Version mismatch: jar version is '" + JNI_VERSION + "', native libary version is '" + nativeVersion + "'"); } @@ -242,7 +245,7 @@ public class FMOD { /** * Return the version of the native library */ - private static native String getNativeLibraryVersion(); + private static native int getNativeLibraryVersion(); /** * @return true if AL has been created diff --git a/src/native/common/fmod3/org_lwjgl_fmod3_FMOD.c b/src/native/common/fmod3/org_lwjgl_fmod3_FMOD.c index a9d64a83..fc690d16 100644 --- a/src/native/common/fmod3/org_lwjgl_fmod3_FMOD.c +++ b/src/native/common/fmod3/org_lwjgl_fmod3_FMOD.c @@ -38,10 +38,10 @@ static const char* VERSION = "1.0beta3"; /* * Class: org_lwjgl_fmod3_FMOD * Method: getNativeLibraryVersion - * Signature: ()Ljava/lang/String; + * Signature: ()I */ -JNIEXPORT jstring JNICALL Java_org_lwjgl_fmod3_FMOD_getNativeLibraryVersion(JNIEnv * env, jclass clazz) { - return NewStringNative(env, VERSION); +JNIEXPORT jint JNICALL Java_org_lwjgl_fmod3_FMOD_getNativeLibraryVersion(JNIEnv * env, jclass clazz) { + return org_lwjgl_fmod3_FMOD_JNI_VERSION; } /*