such as HP-UX, Cygwin.
* libltdl/slist.c (slist_concat): When appending to the tail
of a list, do not drop items off the beginning of the list.
* NEWS: Update.
2008-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+ Fix libltdl to not skip dlopen on systems with several loaders,
+ such as HP-UX, Cygwin.
+ * libltdl/slist.c (slist_concat): When appending to the tail
+ of a list, do not drop items off the beginning of the list.
+ * NEWS: Update.
+
* libltdl/config/ltmain.m4sh (func_mode_execute): Replace only
arguments we have identified as shell or C wrappers.
(func_emit_wrapper): Output error message on stderr.
- Fix 2.2 regression in libltdl that causes memory corruption upon
repeated `lt_dlinit(); lt_dlexit()'.
+ - Fix 2.2 regression in libltdl that skipped the dlopen loader if
+ the system also supports other loaders (e.g., Cygwin, HP-UX).
- Fix 2.2 regression in that `libtool --mode=execute CMD ARGS' does not
transform ARGS that do not look like shell or C wrappers of libtool
programs.
/* slist.c -- generalised singly linked lists
- Copyright (C) 2000, 2004, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2004, 2007, 2008 Free Software Foundation, Inc.
Written by Gary V. Vaughan, 2000
NOTE: The canonical source of this file is maintained with the
SList *
slist_concat (SList *head, SList *tail)
{
+ SList *last;
+
if (!head)
{
return tail;
}
- while (head->next)
- head = head->next;
+ last = head;
+ while (last->next)
+ last = last->next;
- head->next = tail;
+ last->next = tail;
return head;
}