]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* libltdl/ltdl.c (lt_dlopen, non-.la): find_file now returns 0 on
authorAlexandre Oliva <oliva@dcc.unicamp.br>
Wed, 27 Jan 1999 06:55:40 +0000 (06:55 +0000)
committerAlexandre Oliva <aoliva@redhat.com>
Wed, 27 Jan 1999 06:55:40 +0000 (06:55 +0000)
failure

ChangeLog
libltdl/ltdl.c

index 59d48497621652066e32967841f5d3fc989f4ffb..288e4f288dfd060056da8db840e2789fb2110e38 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 1999-01-27  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
+       * 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
index 3c667fe729c6a61be49e1b7f0bb6279da18478a9..a611f2b700680f4352043951be3734ffa8c01199 100644 (file)
@@ -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;