+2004-10-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.maint: Fix typo.
+
2004-10-22 Gary V. Vaughan <gary@gnu.org>
* clcommit.m4sh, config/mailnotify.m4sh: Updated from
@echo " *** \`make -f../Makefile.maint' for example, where"
@echo " *** \`../' is the relative path back to the directory"
@echo " *** that contains the \`Makefile.maint'. Alternatively,"
- @echo " *** run `./configure' in the source tree for an in"
+ @echo " *** run \`./configure' in the source tree for an in"
@echo " *** tree build."
@exit 1
1.2. libtldl
------------
+* Adjust version-info of libltdl before next release.
+
* Fix the following bugs in libltdl:
- error reporting of tryall_dlopen():
if the file actually doesn't exist (stat() fails or it wasn't dlpreopened)
Also report dlerror() for dlclose and dlsym if available
- Make sure that the dependency_libs of a dlpreopened module won't be loaded.
+* Split out get_line as getline, preferably cooperate with gnulib's version.
+ Otherwise have it use ssize_t for correctness (this needs adding a ssize_t
+ check to m4/ltdl.m4).
+
+* Implement even stricter checking of .la file structure.
+ Especially leading and trailing white space in the right hand side of a
+ variable assignment need checking (in ltdl as well as libtool).
+ Also, add a way of communicating parse errors more verbosely.
+ Add regression tests.
+
2. In the future
================
LT_ERROR(SHUTDOWN, "library already shutdown") \
LT_ERROR(CLOSE_RESIDENT_MODULE, "can't close resident module") \
LT_ERROR(INVALID_MUTEX_ARGS, "internal error (code withdrawn)") \
- LT_ERROR(INVALID_POSITION, "invalid search path insert position")
+ LT_ERROR(INVALID_POSITION, "invalid search path insert position") \
+ LT_ERROR(INVALID_LALIB, "malformed library file")
/* Enumerate the symbolic error names. */
enum {
size_t argz_len = 0;
assert (ppath);
- assert (dir && *dir);
+ assert (dir && *dir); /* Without DIR, don't call this function! */
if (canonicalize_path (dir, &canonical) != 0)
{
if (*ppath == 0)
{
assert (!before); /* BEFORE cannot be set without PPATH. */
- assert (dir); /* Without DIR, don't call this function! */
- *ppath = lt__strdup (dir);
+ *ppath = lt__strdup (canonical);
if (*ppath == 0)
++errors;
before = before - *ppath + argz;
}
- if (lt_argz_insert (&argz, &argz_len, before, dir) != 0)
+ if (lt_argz_insert (&argz, &argz_len, before, canonical) != 0)
{
++errors;
goto cleanup;
}
int
-lt_dladdsearchdir (const char *search_dir)
+lt_dladdsearchdir (const char *search_path)
{
- int errors = 0;
-
- if (search_dir && *search_dir)
- {
- if (lt_dlpath_insertdir (&user_search_path, 0, search_dir) != 0)
- ++errors;
- }
-
- return errors;
+ return lt_dlinsertsearchdir (NULL, search_path);
}
int
-lt_dlinsertsearchdir (const char *before, const char *search_dir)
+lt_dlinsertsearchdir (const char *before, const char *search_path)
{
int errors = 0;
}
}
- if (search_dir && *search_dir)
+ if (search_path && *search_path)
{
if (lt_dlpath_insertdir (&user_search_path,
- (char *) before, search_dir) != 0)
+ (char *) before, search_path) != 0)
{
++errors;
}
int
lt_dlsetsearchpath (const char *search_path)
{
- int errors = 0;
-
FREE (user_search_path);
- if (!search_path || !LT_STRLEN (search_path))
- {
- return errors;
- }
-
- if (canonicalize_path (search_path, &user_search_path) != 0)
- ++errors;
-
- return errors;
+ return lt_dlinsertsearchdir(NULL, search_path);
}
const char *
lt_dlgetsearchpath (void)
{
- const char *saved_path;
-
- saved_path = user_search_path;
-
- return saved_path;
+ return user_search_path;
}
int
LT_SCOPE int lt_dlexit (void);
/* Module search path manipulation. */
-LT_SCOPE int lt_dladdsearchdir (const char *search_dir);
+LT_SCOPE int lt_dladdsearchdir (const char *search_path);
LT_SCOPE int lt_dlinsertsearchdir (const char *before,
- const char *search_dir);
+ const char *search_path);
LT_SCOPE int lt_dlsetsearchpath (const char *search_path);
LT_SCOPE const char *lt_dlgetsearchpath (void);
LT_SCOPE int lt_dlforeachfile (