summaryrefslogtreecommitdiffhomepage
path: root/src/load.c
diff options
context:
space:
mode:
authorMasaki Muranaka <[email protected]>2012-10-24 17:00:54 +0900
committerMasaki Muranaka <[email protected]>2012-10-29 11:29:57 +0900
commitf3090c3000a469475385f2bb861a6ad7e7f635ae (patch)
tree7a6856692ce65dcc0b5e216f497888b2621eae29 /src/load.c
parentf5b6f03c9e802702c6f5f74bc3e778f3c4d8baca (diff)
downloadmruby-f3090c3000a469475385f2bb861a6ad7e7f635ae.tar.gz
mruby-f3090c3000a469475385f2bb861a6ad7e7f635ae.zip
Use substitution instead of memset in structure initialization.
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