diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-09-04 18:28:56 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-09-04 18:28:56 +0900 |
| commit | 32aee72d295e2de3c890791b61ab9741b99912b1 (patch) | |
| tree | 560ccea2ad6ce2e73c1c206de8d1192dfc877cd7 /src/load.c | |
| parent | 3492be401a16ff661beefd03c9f152744900e5c0 (diff) | |
| download | mruby-32aee72d295e2de3c890791b61ab9741b99912b1.tar.gz mruby-32aee72d295e2de3c890791b61ab9741b99912b1.zip | |
wrong iseq conversion flag
Diffstat (limited to 'src/load.c')
| -rw-r--r-- | src/load.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/src/load.c b/src/load.c index 80fc719c2..bf69fdca1 100644 --- a/src/load.c +++ b/src/load.c @@ -507,20 +507,22 @@ read_binary_header(const uint8_t *bin, size_t *bin_size, uint16_t *crc, mrb_bool { const struct rite_binary_header *header = (const struct rite_binary_header *)bin; - *byteorder = FALSE; + if (byteorder) *byteorder = FALSE; if (memcmp(header->binary_identify, RITE_BINARY_IDENTIFIER, sizeof(header->binary_identify)) != 0) { - uint32_t ident = 0; - size_t i; + if (byteorder) { + uint32_t ident = 0; + size_t i; - for(i=0; i<sizeof(ident); i++) { - ident<<=8; - ident|=RITE_BINARY_IDENTIFIER[i]; - } - if (ident == *(uint32_t*)header->binary_identify) { - *byteorder = TRUE; - } - else { - return MRB_DUMP_INVALID_FILE_HEADER; + for(i=0; i<sizeof(ident); i++) { + ident<<=8; + ident|=RITE_BINARY_IDENTIFIER[i]; + } + if (ident == *(uint32_t*)header->binary_identify) { + *byteorder = TRUE; + } + else { + return MRB_DUMP_INVALID_FILE_HEADER; + } } } |
