From c6465bd8c6aca006bc7e980d5db08518659bae3c Mon Sep 17 00:00:00 2001 From: Dennis Brentjes Date: Sun, 11 Sep 2016 22:56:42 +0200 Subject: Adds a Pages struct to the le::File which contains all pages. --- le/le_file.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'le/le_file.cpp') 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 }; } -- cgit v1.2.3-70-g09d2