summaryrefslogtreecommitdiffhomepage
path: root/src/load.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2012-10-28 10:43:31 -0700
committerYukihiro "Matz" Matsumoto <[email protected]>2012-10-28 10:43:31 -0700
commit69e2d272457f2f096c2514d8afb90006ed577fc9 (patch)
treecda613d41422a763d824ce998b0e6d0cefd4aaa3 /src/load.c
parent559933f577d5073464aa06facc1b754de6225d8a (diff)
parent1933e2660c86c0731806993a9a212116bb454622 (diff)
downloadmruby-69e2d272457f2f096c2514d8afb90006ed577fc9.tar.gz
mruby-69e2d272457f2f096c2514d8afb90006ed577fc9.zip
Merge pull request #507 from monaka/pr-not-use-memset-in-structure-initialization
Use substitution instead of memset in structure initializations.
Diffstat (limited to 'src/load.c')
-rw-r--r--src/load.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/load.c b/src/load.c
index a2ae4100b..751c2619b 100644
--- a/src/load.c
+++ b/src/load.c
@@ -448,7 +448,10 @@ read_rite_irep_record(mrb_state *mrb, unsigned char *src, mrb_irep *irep, uint32
goto error_exit;
}
- memset(irep->syms, 0, sizeof(mrb_sym)*(irep->slen));
+ for (i = 0; i < irep->slen; i++) {
+ static const mrb_sym mrb_sym_zero = { 0 };
+ *irep->syms = mrb_sym_zero;
+ }
for (i=0; i<irep->slen; i++) {
snl = bin_to_uint16(src); //symbol name length
src += MRB_DUMP_SIZE_OF_SHORT;
@@ -509,11 +512,12 @@ mrb_read_irep(mrb_state *mrb, const char *bin)
mrb_add_irep(mrb, sirep + nirep);
for (n=0,i=sirep; n<nirep; n++,i++) {
+ static const mrb_irep mrb_irep_zero = { 0 };
if ((mrb->irep[i] = (mrb_irep *)mrb_malloc(mrb, sizeof(mrb_irep))) == NULL) {
ret = MRB_DUMP_GENERAL_FAILURE;
goto error_exit;
}
- memset(mrb->irep[i], 0, sizeof(mrb_irep));
+ *mrb->irep[i] = mrb_irep_zero;
}
src += sizeof(bin_header) + MRB_DUMP_SIZE_OF_SHORT; //header + crc