summaryrefslogtreecommitdiffhomepage
path: root/src/load.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-09-04 18:28:56 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-09-04 18:28:56 +0900
commit32aee72d295e2de3c890791b61ab9741b99912b1 (patch)
tree560ccea2ad6ce2e73c1c206de8d1192dfc877cd7 /src/load.c
parent3492be401a16ff661beefd03c9f152744900e5c0 (diff)
downloadmruby-32aee72d295e2de3c890791b61ab9741b99912b1.tar.gz
mruby-32aee72d295e2de3c890791b61ab9741b99912b1.zip
wrong iseq conversion flag
Diffstat (limited to 'src/load.c')
-rw-r--r--src/load.c26
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;
+ }
}
}