summaryrefslogtreecommitdiff
path: root/le/le_file.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'le/le_file.cpp')
-rw-r--r--le/le_file.cpp7
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
};
}