diff options
Diffstat (limited to 'src/load.c')
| -rw-r--r-- | src/load.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/load.c b/src/load.c index 3f5dc2c57..3b62a0e7a 100644 --- a/src/load.c +++ b/src/load.c @@ -1,11 +1,17 @@ +/* +** load.c - mruby binary loader +** +** See Copyright Notice in mruby.h +*/ + #include <string.h> -#include "dump.h" +#include "mruby/dump.h" #include "mruby/string.h" #ifdef INCLUDE_REGEXP #include "re.h" #endif -#include "irep.h" +#include "mruby/irep.h" #ifndef FALSE #define FALSE 0 @@ -406,12 +412,12 @@ read_rite_irep_record(mrb_state *mrb, unsigned char *src, mrb_irep *irep, uint32 switch (tt) { //pool data case MRB_TT_FIXNUM: - sscanf(buf, "%d", &fix_num); + fix_num = readint(buf, 10); irep->pool[i] = mrb_fixnum_value(fix_num); break; case MRB_TT_FLOAT: - sscanf(buf, "%le", &f); + f = readfloat(buf); irep->pool[i] = mrb_float_value(f); break; @@ -489,7 +495,7 @@ error_exit: } int -mrb_read_irep(mrb_state *mrb, char *bin) +mrb_read_irep(mrb_state *mrb, const char *bin) { int ret = MRB_DUMP_OK, i, n, nirep, sirep; uint32_t len; |
