2010-11-04 Tristan Gingold <gingold@adacore.com>
authorTristan Gingold <gingold@adacore.com>
Thu, 4 Nov 2010 16:17:44 +0000 (16:17 +0000)
committerTristan Gingold <gingold@adacore.com>
Thu, 4 Nov 2010 16:17:44 +0000 (16:17 +0000)
* vms-lib.c (vms_write_index): Fix thinko: reverse the loop.
Use bfd_zmalloc instead of bfd_malloc.  Fix comment.

bfd/ChangeLog
bfd/vms-lib.c

index b31bfa4503cd8d9b3cf19ac1466dac910e37c004..f18a7ddf7f87413dfcaa14f34f6cefd504ead4e2 100644 (file)
@@ -1,3 +1,8 @@
+2010-11-04  Tristan Gingold  <gingold@adacore.com>
+
+       * vms-lib.c (vms_write_index): Fix thinko: reverse the loop.
+       Use bfd_zmalloc instead of bfd_malloc.  Fix comment.
+
 2010-11-04  Kai Tietz  <kai.tietz@onevision.com>
 
        * coffcode.h (GNU_LINKONCE_WT): New.
index 6e86df3b5cd8f234e2a081c930d553da55a7ddcb..6ab78eab6138bba5f1cda983b5b67f3d32509ec2 100644 (file)
@@ -1591,7 +1591,7 @@ vms_write_index (bfd *abfd,
   /* Allocate first index block.  */
   level = 1;
   if (abfd != NULL)
-    rblk[0] = bfd_malloc (sizeof (struct vms_indexdef));
+    rblk[0] = bfd_zmalloc (sizeof (struct vms_indexdef));
   blk[0].vbn = (*vbn)++;
   blk[0].len = 0;
   blk[0].lastlen = 0;
@@ -1698,7 +1698,7 @@ vms_write_index (bfd *abfd,
                   /* Need to create a parent.  */
                   if (abfd != NULL)
                     {
-                      rblk[level] = bfd_malloc (sizeof (struct vms_indexdef));
+                      rblk[level] = bfd_zmalloc (sizeof (struct vms_indexdef));
                       bfd_putl32 (*vbn, rblk[j]->parent);
                     }
                   blk[level].vbn = (*vbn)++;
@@ -1717,7 +1717,8 @@ vms_write_index (bfd *abfd,
                   memcpy (rblk[j + 1]->keys + blk[j + 1].len,
                           rblk[j]->keys + blk[j].len,
                           blk[j].lastlen);
-                  /* Fix the entry (which in always the first field of an entry.  */
+                  /* Fix the entry (which in always the first field of an
+                    entry.  */
                   rfa = (struct vms_rfa *)(rblk[j + 1]->keys + blk[j + 1].len);
                   bfd_putl32 (blk[j].vbn, rfa->vbn);
                   bfd_putl16 (RFADEF__C_INDEX, rfa->offset);
@@ -1806,7 +1807,7 @@ vms_write_index (bfd *abfd,
     return TRUE;
 
   /* Flush.  */
-  for (j = 0; j < level; j++)
+  for (j = level - 1; j >= 0; j--)
     {
       if (j > 0)
         {