summaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-05-15 00:08:28 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-05-15 00:08:28 +0900
commit103ab2e53d727cf2157536ab694705733351a00c (patch)
treeb807220826aa336b94d71ee46175d1a4a08f8a67 /tools
parent95fb1fd809780e71848c339f8e3e035d1ae015d6 (diff)
downloadmruby-103ab2e53d727cf2157536ab694705733351a00c.tar.gz
mruby-103ab2e53d727cf2157536ab694705733351a00c.zip
avoid unnecessary copy of context->filename
Diffstat (limited to 'tools')
-rw-r--r--tools/mrbc/mrbc.c8
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;