1999-01-20 Alexandre Oliva <oliva@dcc.unicamp.br>
+ * libltdl/ltdl.c (lt_dlopen): properly detect error condition when
+ full pathname of non-libtool library is provided
+
* libltdl/configure.in (libltdl_cv_preloaded_symbols,
HAVE_PRELOADED_SYMBOLS): test whether we support -dl*open
* libltdl/ltdl.c (!HAVE_PRELOADED_SYMBOLS, lt_preloaded_symbols):
last_error = memory_error;
return 0;
}
- if (tryall_dlopen(&handle, filename) && !*dir
- && find_library(&handle, basename, usr_search_path)
- && find_library(&handle, basename, search_path)
+ if (tryall_dlopen(&handle, filename)
+ && (*dir
+ || (find_library(&handle, basename, usr_search_path)
+ && find_library(&handle, basename, search_path)
#ifdef LTDL_SHLIBPATH_VAR
- && find_library(&handle, basename, sys_search_path)
+ && find_library(&handle, basename, sys_search_path)
#endif
- ) {
+ ))) {
free(handle);
return 0;
}