Skip to content

Commit 7e0af5d

Browse files
committed
header length can now be read from header
1 parent 21265cd commit 7e0af5d

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

src/vm.c

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#include "vm.h"
22

33
void dlvm_parse_header(dlvm_module_t *module) {
4-
uint64_t file_size;
5-
uint8_t header_size;
4+
uint64_t file_size = 0;
5+
uint8_t header_size = 0;
66

77
FILE *mf = fopen(module->path->utf8.str, "rb");
88

@@ -14,21 +14,27 @@ void dlvm_parse_header(dlvm_module_t *module) {
1414
return;
1515
}
1616

17-
uint8_t temp_file_size[8];
18-
fread(temp_file_size, sizeof(uint8_t), 8, mf);
17+
module->module_size = file_size;
18+
19+
uint8_t temp_header_size[8];
20+
fread(temp_header_size, sizeof(uint8_t), 8, mf);
1921

20-
//file_size = (uint64_t) temp_
21-
/*
22-
for (uint8_t i = 0; i < 7; i++) {
22+
header_size = file_size | temp_file_size[0];
2323

24+
for (uint8_t i = 1; i < 8; i++) {
25+
header_size = file_size << 8;
26+
header_size = file_size | temp_file_size[i];
2427
}
25-
*/
28+
29+
2630
}
2731

2832
dlvm_module_t *dlvm_module_init(uint8_t *path) {
2933
dlvm_module_t *module = malloc(sizeof(dlvm_module_t));
3034
module->path = convert_to_utf8(path, strlen(path) + 1);
3135

36+
dlvm_parse_header(module);
37+
3238
return module;
3339
}
3440

0 commit comments

Comments
 (0)