diff --git a/ChangeLog b/ChangeLog index 69f5e782..6e01e4ae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2009-12-02 Ralf Wildenhues + lt_dlloader_remove and lt_dlloader_find accept const arguments. + * libltdl/lt_dlloader.c (lt_dlloader_remove, lt_dlloader_find): + Accept `const char *' arguments, as documented. Cast them to + `void *' for the slist machinery. + * libltdl/libltdl/lt_dlloader.h: Adjust prototypes. + Test and fix slist.c. * libltdl/libltdl/slist.h: Include stddef.h, for size_t. (slist_remove): Return pointer to SList, not void. diff --git a/libltdl/libltdl/lt_dlloader.h b/libltdl/libltdl/lt_dlloader.h index ae131fae..589fd0dc 100644 --- a/libltdl/libltdl/lt_dlloader.h +++ b/libltdl/libltdl/lt_dlloader.h @@ -73,8 +73,8 @@ typedef struct { LT_SCOPE int lt_dlloader_add (const lt_dlvtable *vtable); LT_SCOPE lt_dlloader lt_dlloader_next (const lt_dlloader loader); -LT_SCOPE lt_dlvtable * lt_dlloader_remove (char *name); -LT_SCOPE const lt_dlvtable *lt_dlloader_find (char *name); +LT_SCOPE lt_dlvtable * lt_dlloader_remove (const char *name); +LT_SCOPE const lt_dlvtable *lt_dlloader_find (const char *name); LT_SCOPE const lt_dlvtable *lt_dlloader_get (lt_dlloader loader); diff --git a/libltdl/lt_dlloader.c b/libltdl/lt_dlloader.c index 4e66a6ca..2c99a22d 100644 --- a/libltdl/lt_dlloader.c +++ b/libltdl/lt_dlloader.c @@ -150,7 +150,7 @@ lt_dlloader_get (lt_dlloader loader) modules need this loader; in either case, the loader list is not changed if NULL is returned. */ lt_dlvtable * -lt_dlloader_remove (char *name) +lt_dlloader_remove (const char *name) { const lt_dlvtable * vtable = lt_dlloader_find (name); static const char id_string[] = "lt_dlloader_remove"; @@ -199,12 +199,12 @@ lt_dlloader_remove (char *name) /* If we got this far, remove the loader from our global list. */ return (lt_dlvtable *) - slist_unbox ((SList *) slist_remove (&loaders, loader_callback, name)); + slist_unbox ((SList *) slist_remove (&loaders, loader_callback, (void *) name)); } const lt_dlvtable * -lt_dlloader_find (char *name) +lt_dlloader_find (const char *name) { - return lt_dlloader_get (slist_find (loaders, loader_callback, name)); + return lt_dlloader_get (slist_find (loaders, loader_callback, (void *) name)); }