re GNATS gcj/150 (System.loadLibrary() semantics arn't the same as in the JDK)

* java/lang/natRuntime.cc (_load): On Unix, prefix library name
	with `lib' for loadLibrary.  Fixes PR gcj/150.

From-SVN: r31976
This commit is contained in:
Tom Tromey 2000-02-15 07:53:11 +00:00 committed by Tom Tromey
parent 789a3090f3
commit 26c3229c0b
2 changed files with 17 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2000-02-15 Tom Tromey <tromey@cygnus.com>
* java/lang/natRuntime.cc (_load): On Unix, prefix library name
with `lib' for loadLibrary. Fixes PR gcj/150.
2000-02-14 Warren Levy <warrenl@cygnus.com>
* gnu/gcj/math/MPN.java(findLowestBit): Made methods public.

View File

@ -108,9 +108,18 @@ java::lang::Runtime::_load (jstring path, jboolean do_search)
using namespace java::lang;
#ifdef USE_LTDL
jint len = _Jv_GetStringUTFLength (path);
char buf[len + 1];
jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf);
buf[total] = '\0';
char buf[len + 1 + 3];
int offset = 0;
#ifndef WIN32
// On Unix boxes, prefix library name with `lib', for loadLibrary.
if (do_search)
{
strcpy (buf, "lib");
offset = 3;
}
#endif
jsize total = JvGetStringUTFRegion (path, 0, path->length(), &buf[offset]);
buf[offset + total] = '\0';
// FIXME: make sure path is absolute.
lt_dlhandle h = do_search ? lt_dlopenext (buf) : lt_dlopen (buf);
if (h == NULL)