]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
Fix libltdl to not skip dlopen on systems with several loaders,
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Tue, 4 Mar 2008 22:31:33 +0000 (22:31 +0000)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Tue, 4 Mar 2008 22:31:33 +0000 (22:31 +0000)
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.

ChangeLog
NEWS
libltdl/slist.c

index f37276e21e2c27b179b3ba65204629da6916d1f4..ee4ff3ddeb5f661c653eead25882503c18363f78 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 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.
diff --git a/NEWS b/NEWS
index 80c4ebda2c7b37fed1fe1dd174598ed08970ac8a..e56e04584f5417d1f800b7a182404f11ea8a7f08 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,8 @@ New in 2.3b: 2008-??-??: CVS version 2.3a, Libtool team:
 
   - 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.
index deeb8e833db3b10d8ff90658757bd43621314e53..c99f39914a63599662fd615efa18436425a987b1 100644 (file)
@@ -1,6 +1,6 @@
 /* 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
@@ -140,15 +140,18 @@ slist_find (SList *slist, SListCallback *find, void *matchdata)
 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;
 }