summaryrefslogtreecommitdiffhomepage
path: root/src/reader
diff options
context:
space:
mode:
Diffstat (limited to 'src/reader')
-rw-r--r--src/reader/pe_read_coff_header.c30
1 files changed, 11 insertions, 19 deletions
diff --git a/src/reader/pe_read_coff_header.c b/src/reader/pe_read_coff_header.c
index 24d47ba..b6e125f 100644
--- a/src/reader/pe_read_coff_header.c
+++ b/src/reader/pe_read_coff_header.c
@@ -16,28 +16,20 @@ int pe_read_coff_header(const struct pe_coff_file_hdr * p, struct pe_meta_coff_f
|| p->signature[2] || p->signature[3])
return PERK_ERR_BAD_COFF_HEADER;
- if (PERK_LITTLE_ENDIAN) {
+ m->signature[0] = p->signature[0];
+ m->signature[1] = p->signature[1];
+ m->signature[2] = p->signature[2];
+ m->signature[3] = p->signature[3];
- memcpy(m,p,sizeof(*p));
+ m->machine = pe_read_short(p->machine);
+ m->num_of_sections = pe_read_short(p->num_of_sections);
- } else {
+ m->time_date_stamp = pe_read_long(p->time_date_stamp);
+ m->ptr_to_sym_tbl = pe_read_long(p->ptr_to_sym_tbl);
+ m->num_of_syms = pe_read_long(p->num_of_syms);
- m->signature[0] = p->signature[0];
- m->signature[1] = p->signature[1];
- m->signature[2] = p->signature[2];
- m->signature[3] = p->signature[3];
-
- m->machine = pe_read_short(p->machine);
- m->num_of_sections = pe_read_short(p->num_of_sections);
-
- m->time_date_stamp = pe_read_long(p->time_date_stamp);
- m->ptr_to_sym_tbl = pe_read_long(p->ptr_to_sym_tbl);
- m->num_of_syms = pe_read_long(p->num_of_syms);
-
- m->size_of_opt_hdr = pe_read_short(p->size_of_opt_hdr);
- m->characteristics = pe_read_short(p->characteristics);
-
- }
+ m->size_of_opt_hdr = pe_read_short(p->size_of_opt_hdr);
+ m->characteristics = pe_read_short(p->characteristics);
return 0;
}