diff options
| author | Ryan Scott <[email protected]> | 2013-05-18 11:05:09 +1000 |
|---|---|---|
| committer | Ryan Scott <[email protected]> | 2013-05-18 11:05:09 +1000 |
| commit | 8161f0f6d7f89ad723163943d2d3abc38cd02df5 (patch) | |
| tree | e6ce15a81d79744aa9b7ec30bd32b994586a60db /src/codegen.c | |
| parent | 008aec2bbcd38fa13c27b6df2b2463b6a88cefff (diff) | |
| parent | c8c4dfe426da121549f73fd776d0696a701db6b6 (diff) | |
| download | mruby-8161f0f6d7f89ad723163943d2d3abc38cd02df5.tar.gz mruby-8161f0f6d7f89ad723163943d2d3abc38cd02df5.zip | |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'src/codegen.c')
| -rw-r--r-- | src/codegen.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/codegen.c b/src/codegen.c index 38328c669..f4617a570 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -2403,6 +2403,8 @@ scope_finish(codegen_scope *s) { mrb_state *mrb = s->mrb; mrb_irep *irep = s->irep; + size_t fname_len; + char *fname; irep->flags = 0; if (s->iseq) { @@ -2418,7 +2420,11 @@ scope_finish(codegen_scope *s) irep->pool = (mrb_value *)codegen_realloc(s, irep->pool, sizeof(mrb_value)*irep->plen); irep->syms = (mrb_sym *)codegen_realloc(s, irep->syms, sizeof(mrb_sym)*irep->slen); if (s->filename) { - irep->filename = s->filename; + fname_len = strlen(s->filename); + fname = codegen_malloc(s, fname_len + 1); + memcpy(fname, s->filename, fname_len); + fname[fname_len] = '\0'; + irep->filename = fname; } irep->nlocals = s->nlocals; |
