From: Alexandre Oliva Date: Wed, 27 Jan 1999 06:55:40 +0000 (+0000) Subject: * libltdl/ltdl.c (lt_dlopen, non-.la): find_file now returns 0 on X-Git-Tag: release-1-2f~156 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=09616d6977c848cf32fc5a22ad6d7f39dc49dae7;p=thirdparty%2Flibtool.git * libltdl/ltdl.c (lt_dlopen, non-.la): find_file now returns 0 on failure --- diff --git a/ChangeLog b/ChangeLog index 59d484976..288e4f288 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 1999-01-27 Alexandre Oliva + * libltdl/ltdl.c (lt_dlopen, non-.la): find_file now returns 0 on + failure + * Makefile.am (ltconfig, ltmain.sh): some broken makes don't like macros in targets; replace $(srcdir) with @srcdir@ * configure.in (ACINCLUDE_M4_LIST): same problem; expand $srcdir diff --git a/libltdl/ltdl.c b/libltdl/ltdl.c index 3c667fe72..a611f2b70 100644 --- a/libltdl/ltdl.c +++ b/libltdl/ltdl.c @@ -1150,8 +1150,6 @@ lt_dlopen (filename) } if (handle != newhandle) { unload_deplibs(handle); - free(handle); - handle = newhandle; } } else { /* not a libtool module */ @@ -1169,12 +1167,14 @@ lt_dlopen (filename) newhandle = handle; if (tryall_dlopen(&handle, filename) && (!dir - || (find_file(basename, user_search_path, 0, &handle) - && find_file(basename, getenv("LTDL_LIBRARY_PATH"), - 0, &handle) + || (!find_file(basename, user_search_path, 0, &handle) + && !find_file(basename, + getenv("LTDL_LIBRARY_PATH"), + 0, &handle) #ifdef LTDL_SHLIBPATH_VAR - && find_file(basename, getenv(LTDL_SHLIBPATH_VAR), - 0, &handle) + && !find_file(basename, + getenv(LTDL_SHLIBPATH_VAR), + 0, &handle) #endif ))) { free(handle); @@ -1182,10 +1182,10 @@ lt_dlopen (filename) free(dir); return 0; } - if (handle != newhandle) { - free(handle); - handle = newhandle; - } + } + if (newhandle != handle) { + free(handle); + handle = newhandle; } if (!handle->usage) { handle->usage = 1;