diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-05-15 00:08:28 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-05-15 00:08:28 +0900 |
| commit | 103ab2e53d727cf2157536ab694705733351a00c (patch) | |
| tree | b807220826aa336b94d71ee46175d1a4a08f8a67 | |
| parent | 95fb1fd809780e71848c339f8e3e035d1ae015d6 (diff) | |
| download | mruby-103ab2e53d727cf2157536ab694705733351a00c.tar.gz mruby-103ab2e53d727cf2157536ab694705733351a00c.zip | |
avoid unnecessary copy of context->filename
| -rw-r--r-- | tools/mrbc/mrbc.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/tools/mrbc/mrbc.c b/tools/mrbc/mrbc.c index 7cfee6eaf..ed97472cd 100644 --- a/tools/mrbc/mrbc.c +++ b/tools/mrbc/mrbc.c @@ -158,18 +158,20 @@ partial_hook(struct mrb_parser_state *p) { mrbc_context *c = p->cxt; struct mrbc_args *args = (struct mrbc_args *)c->partial_data; + const char *fn; if (p->f) fclose(p->f); if (args->idx >= args->argc) { p->f = NULL; return -1; } - mrbc_filename(p->mrb, c, args->argv[args->idx++]); - p->f = fopen(c->filename, "r"); + fn = args->argv[args->idx++]; + p->f = fopen(fn, "r"); if (p->f == NULL) { - fprintf(stderr, "%s: cannot open program file. (%s)\n", args->prog, c->filename); + fprintf(stderr, "%s: cannot open program file. (%s)\n", args->prog, fn); return -1; } + mrbc_filename(p->mrb, c, fn); p->filename = c->filename; p->lineno = 1; return 0; |
