diff options
Diffstat (limited to 'le/le_file.cpp')
| -rw-r--r-- | le/le_file.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/le/le_file.cpp b/le/le_file.cpp index 55478c8..2e0a9d5 100644 --- a/le/le_file.cpp +++ b/le/le_file.cpp @@ -25,6 +25,7 @@ BOOST_FUSION_ADAPT_STRUCT( (le::EntryTable, entry_table) (le::FixupPageTable, fixup_page_table) (le::FixupRecordTable, fixup_record_table) + (le::Pages, pages) ) namespace le { @@ -50,13 +51,14 @@ File parse_file(std::istream& is) { auto resource_table = parse_resource_table(is, le_offset + le_h.resource_table_offset, le_h.nr_resource_table_entries); auto fixup_page_table = parse_fixup_page_table(is, le_offset + le_h.fixup_page_table_offset, le_h.module_nr_of_pages + binparse::Value32(1)); auto fixup_record_table = parse_fixup_record_table(is, le_offset + le_h.fixup_record_table_offset, fixup_page_table); + auto pages = parse_pages(is, le_h.data_page_offset, le_h.module_nr_of_pages, le_h.page_size); return { mz_h, unused, OEM_id, OEM_info, - le_offset, + le_offset, dos_exe, le_h, object_table, @@ -66,7 +68,8 @@ File parse_file(std::istream& is) { resident_name_table, entry_table, fixup_page_table, - fixup_record_table + fixup_record_table, + pages }; } |
