diff options
| author | Masaki Muranaka <[email protected]> | 2012-10-24 17:00:54 +0900 |
|---|---|---|
| committer | Masaki Muranaka <[email protected]> | 2012-10-25 15:47:45 +0900 |
| commit | 1933e2660c86c0731806993a9a212116bb454622 (patch) | |
| tree | 8d0809bef8d017b49638eb1e849671c8a642a5cc /src/codegen.c | |
| parent | f5b6f03c9e802702c6f5f74bc3e778f3c4d8baca (diff) | |
| download | mruby-1933e2660c86c0731806993a9a212116bb454622.tar.gz mruby-1933e2660c86c0731806993a9a212116bb454622.zip | |
Use substitution instead of memset in structure initialization.
Diffstat (limited to 'src/codegen.c')
| -rw-r--r-- | src/codegen.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/codegen.c b/src/codegen.c index 2d01ed701..7c3182599 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -453,7 +453,10 @@ new_sym(codegen_scope *s, mrb_sym sym) } if (s->slen > 125 && s->slen < 256) { s->syms = (mrb_sym *)codegen_realloc(s, s->syms, sizeof(mrb_sym)*65536); - memset(s->syms+s->slen, 0, sizeof(mrb_sym)*(256-s->slen)); + for (i = 0; i < 256 - s->slen; i++) { + static const mrb_sym mrb_sym_zero = { 0 }; + s->syms[i + s->slen] = mrb_sym_zero; + } s->slen = 256; } s->syms[s->slen] = sym; @@ -2049,11 +2052,12 @@ codegen(codegen_scope *s, node *tree, int val) static codegen_scope* scope_new(mrb_state *mrb, codegen_scope *prev, node *lv) { + static const codegen_scope codegen_scope_zero = { 0 }; mrb_pool *pool = mrb_pool_open(mrb); codegen_scope *p = (codegen_scope *)mrb_pool_alloc(pool, sizeof(codegen_scope)); if (!p) return 0; - memset(p, 0, sizeof(codegen_scope)); + *p = codegen_scope_zero; p->mrb = mrb; p->mpool = pool; if (!prev) return p; |
