How do I convert an unsigned int to jint? Do I have to convert it at all, or can I just return it without any special treatment? This is basically my code right now, but I can’t test it, as I haven’t setup JNI locally.
JNIEXPORT jint JNICALL
Java_test_test(JNIEnv* env, jobject obj, jlong ptr)
{
MyObject* m = (MyObject*) ptr;
unsigned int i = m->get();
return i;
}
In the general case,
jintis equivalent toint, and so can hold about half the values ofunsigned int. Conversion will work silently, but if ajintvalue is negative or if anunsigned intvalue is larger than the maximum value ajintcan hold, the result will not be what you are expecting.