JNI Bug report / C++ issues
archie at whistle.com
Wed Oct 28 09:12:32 PST 1998
Johannes Deisenhofer writes:
> However, kaffe's JNI include files do contain some errors that I've
> listed below:
> - NewXXXArray() should return jXXXArray instead of jarray
> This is a problem in C++, since these types are not simply casted to jref
> - NewGlobalRef() does return jobject in JDK
> - DefineClass() does have an extra name argument in JDK 1.1.5
> - GetSuperClass is spelled GetSuperclass in JDK.
> - java.lang.StringBuffer.setLength has a bug:
> System.arraycopy throws exception, because copied buffer len
> exceeds allocated source buffer len.
> Not a bug, but a missing feature:
> SUN's JNI headers do provide a special interface for C++. Unfortunately,
> they do not allow to use the C-Interface from C++.
> So, when using C++, I'm forced to use the C++-Interface with the JDK,
> which on the other hand, kaffe does not provide.
> I'd like to provide the necessary patches to make kaffe more compatible.
> There are a few options to do this:
> 1) Just copy the missing parts from SUN JDK headers. Copyright problem?
> 2) Type in something that behaves identical, but avoid copying. Since
> symbol names have to be identical, it would be very close to 1) beside
> 3) Provide a hook so one can add an external C++-Wrapper. Have at least
> an option to avoid some typedefs like jobject,JNIEnv, JavaVM.
> What option do you prefer?
Please provide patches using 'diff -u' and send them to this list.
Archie Cobbs * Whistle Communications, Inc. * http://www.whistle.com
More information about the kaffe