aboutsummaryrefslogtreecommitdiff
path: root/bfd/oasys.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/oasys.c')
-rw-r--r--bfd/oasys.c52
1 files changed, 25 insertions, 27 deletions
diff --git a/bfd/oasys.c b/bfd/oasys.c
index 791ad2a..f7791d2 100644
--- a/bfd/oasys.c
+++ b/bfd/oasys.c
@@ -272,37 +272,35 @@ oasys_archive_p (bfd *abfd)
filepos = header.mod_tbl_offset;
for (i = 0; i < header.mod_count; i++)
{
+ oasys_extmodule_table_type_b_type record_ext;
+
if (bfd_seek (abfd, filepos, SEEK_SET) != 0)
return NULL;
/* There are two ways of specifying the archive header. */
- {
- oasys_extmodule_table_type_b_type record_ext;
-
- amt = sizeof (record_ext);
- if (bfd_bread ((void *) &record_ext, amt, abfd) != amt)
- return NULL;
-
- record.mod_size = H_GET_32 (abfd, record_ext.mod_size);
- record.file_offset = H_GET_32 (abfd, record_ext.file_offset);
-
- record.dep_count = H_GET_32 (abfd, record_ext.dep_count);
- record.depee_count = H_GET_32 (abfd, record_ext.depee_count);
- record.sect_count = H_GET_32 (abfd, record_ext.sect_count);
- record.module_name_size = H_GET_32 (abfd,
- record_ext.mod_name_length);
-
- amt = record.module_name_size;
- module[i].name = bfd_alloc (abfd, amt + 1);
- if (!module[i].name)
- return NULL;
- if (bfd_bread ((void *) module[i].name, amt, abfd) != amt)
- return NULL;
- module[i].name[record.module_name_size] = 0;
- filepos += (sizeof (record_ext)
- + record.dep_count * 4
- + record.module_name_size + 1);
- }
+ amt = sizeof (record_ext);
+ if (bfd_bread ((void *) &record_ext, amt, abfd) != amt)
+ return NULL;
+
+ record.mod_size = H_GET_32 (abfd, record_ext.mod_size);
+ record.file_offset = H_GET_32 (abfd, record_ext.file_offset);
+
+ record.dep_count = H_GET_32 (abfd, record_ext.dep_count);
+ record.depee_count = H_GET_32 (abfd, record_ext.depee_count);
+ record.sect_count = H_GET_32 (abfd, record_ext.sect_count);
+ record.module_name_size = H_GET_32 (abfd,
+ record_ext.mod_name_length);
+
+ amt = record.module_name_size;
+ module[i].name = bfd_alloc (abfd, amt + 1);
+ if (!module[i].name)
+ return NULL;
+ if (bfd_bread ((void *) module[i].name, amt, abfd) != amt)
+ return NULL;
+ module[i].name[record.module_name_size] = 0;
+ filepos += (sizeof (record_ext)
+ + record.dep_count * 4
+ + record.module_name_size + 1);
module[i].size = record.mod_size;
module[i].pos = record.file_offset;