* jcf-depend.c (add_entry): Add entries to the end of the list.
authorgreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 19 Feb 2000 23:02:33 +0000 (23:02 +0000)
committergreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 19 Feb 2000 23:02:33 +0000 (23:02 +0000)
I

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32066 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/java/ChangeLog
gcc/java/jcf-depend.c

index e3b1992..450b481 100644 (file)
@@ -1,3 +1,7 @@
+2000-02-19  Anthony Green  <green@cygnus.com>
+
+       * jcf-depend.c (add_entry): Add entries to the end of the list.
+
 Wed Nov 03 02:16:00 PST 1999  Pekka Nikander  <pekka.nikander@hut.fi>
 
        * decl.c (INT_TYPE_SIZE): Define if necessary.
index 8a9ee9e..53bd17b 100644 (file)
@@ -78,22 +78,30 @@ free_entry (entp)
   *entp = NULL;
 }
 
-/* Helper to add to entry list.  */
+/* Helper to add to the end of the entry list.  */
 static void
 add_entry (entp, name)
      struct entry **entp;
      const char *name;
 {
-  struct entry *ent;
+  struct entry *ent, *last;
 
-  for (ent = *entp; ent != NULL; ent = ent->next)
+  for (last = ent = *entp; ent != NULL; last = ent, ent = ent->next)
     if (! strcmp (ent->file, name))
       return;
 
   ent = (struct entry *) xmalloc (sizeof (struct entry));
   ent->file = xstrdup (name);
-  ent->next = *entp;
-  *entp = ent;
+  ent->next = NULL;
+
+  if (last == ent)
+    {
+      // This is only true the first time through, when the entry list
+      // is empty.
+      *entp = ent;
+    }     
+  else
+    last->next = ent;
 }
 
 /* Call this to reset the dependency module.  This is required if