diff options
| author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-02-15 07:53:11 +0000 |
|---|---|---|
| committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-02-15 07:53:11 +0000 |
| commit | 0696752402c1f8e79fcc0e4657dee344b8a081c0 (patch) | |
| tree | 590b5bba0580a628e32ef9cf74a30c2744e0c4d8 /libjava/java | |
| parent | 68fec005f1e784ebd2d9aa09d0e34d39ad0ff4e5 (diff) | |
| download | ppe42-gcc-0696752402c1f8e79fcc0e4657dee344b8a081c0.tar.gz ppe42-gcc-0696752402c1f8e79fcc0e4657dee344b8a081c0.zip | |
* java/lang/natRuntime.cc (_load): On Unix, prefix library name
with `lib' for loadLibrary. Fixes PR gcj/150.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31976 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
| -rw-r--r-- | libjava/java/lang/natRuntime.cc | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/libjava/java/lang/natRuntime.cc b/libjava/java/lang/natRuntime.cc index f21a81f1050..cc693858d2d 100644 --- a/libjava/java/lang/natRuntime.cc +++ b/libjava/java/lang/natRuntime.cc @@ -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) |

