diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-05-14 06:49:41 -0700 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-05-14 06:49:41 -0700 |
| commit | 7cc66cf819beb5398d6fd40711373f9cfe79b77a (patch) | |
| tree | 1692d5e02a6c4584b5e7cd95696ddebad5bc88fe /src/codegen.c | |
| parent | 17f10b05f2bb1c70dbc9fee06e16336ed264b098 (diff) | |
| parent | 87eb57b663fd564d81d59a3d79bae0bcf8ad43e0 (diff) | |
| download | mruby-7cc66cf819beb5398d6fd40711373f9cfe79b77a.tar.gz mruby-7cc66cf819beb5398d6fd40711373f9cfe79b77a.zip | |
Merge pull request #1252 from carsonmcdonald/fixfilenames
Fix for issue 1243
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; |
