* dbxread.c (copy_pending): Change name and function of begi argument
authorJim Kingdon <jkingdon@engr.sgi.com>
Wed, 23 Jun 1993 19:20:49 +0000 (19:20 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Wed, 23 Jun 1993 19:20:49 +0000 (19:20 +0000)
to endi, since that is what the caller needs.

gdb/ChangeLog
gdb/dbxread.c

index 1a0c12f436a40a007d742e60ec748957f99c55a0..3753b246ac9596baba9a582930a1336789d9a8b2 100644 (file)
@@ -1,5 +1,8 @@
 Wed Jun 23 00:25:58 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
 
+       * dbxread.c (copy_pending): Change name and function of begi argument
+       to endi, since that is what the caller needs.
+
        * Makefile.in (TAGFILES): Don't include YYFILES.
 
        * Makefile.in (HFILES): Include monitor.h.
index 65a9fec5c48cdcaa0ed6a8197a24fd2461271bba..4c33fe611c49984c4afad8821dc0f22ea2df6d5e 100644 (file)
@@ -1914,23 +1914,30 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
 }
 \f
 /* Copy a pending list, used to record the contents of a common
-   block for later fixup.  */
+   block for later fixup.  We copy the symbols starting with all
+   symbols in BEG, and ending with the symbols which are in 
+   END at index ENDI.  */
 static struct pending *
-copy_pending (beg, begi, end)
+copy_pending (beg, endi, end)
     struct pending *beg;
-    int begi;
+    int endi;
     struct pending *end;
 {
   struct pending *new = 0;
   struct pending *next;
+  int j;
 
-  for (next = beg; next != 0 && (next != end || begi < end->nsyms);
-       next = next->next, begi = 0)
+  /* Copy all the struct pendings before end.  */
+  for (next = beg; next != NULL && next != end; next = next->next)
     {
-      register int j;
-      for (j = begi; j < next->nsyms; j++)
+      for (j = 0; j < next->nsyms; j++)
        add_symbol_to_list (next->symbol[j], &new);
     }
+
+  /* Copy however much of END we need.  */
+  for (j = endi; j < end->nsyms; j++)
+    add_symbol_to_list (end->symbol[j], &new);
+
   return new;
 }
 \f