aboutsummaryrefslogtreecommitdiff
path: root/src/program.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/program.c')
-rw-r--r--src/program.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/program.c b/src/program.c
index 1a53b53..63d2b6e 100644
--- a/src/program.c
+++ b/src/program.c
@@ -8,6 +8,7 @@
#include <stdio.h>
#include <errno.h>
#include <assert.h>
+#include <string.h>
/* One gigabyte */
#define PROGRAM_MAX_SIZE 1024*1024*1024
@@ -194,11 +195,10 @@ static CHECK_RESULT int amal_program_read_header(amal_program *self) {
am_memcpy(&header, self->data.data + self->read_index, sizeof(header));
self->read_index += sizeof(header);
#ifdef AMAL_BIG_ENDIAN
- header.magic_number = byteswap32(header.magic_number);
#error TODO: Support big endian for program decoding
#endif
- if(header.magic_number != AMAL_BYTECODE_MAGIC_NUMBER)
+ if(memcmp(header.magic_number, AMAL_BYTECODE_MAGIC_NUMBER, AMAL_BYTECODE_MAGIC_NUMBER_SIZE) != 0)
return AMAL_PROGRAM_INVALID_MAGIC_NUMBER;
/*