diff options
| -rw-r--r-- | mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c b/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c index ee96d77a5..69c1095df 100644 --- a/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +++ b/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c @@ -53,19 +53,13 @@ static char * get_outfilename(mrb_state *mrb, char *infile, const char *ext) { size_t infilelen; - size_t extlen; + size_t flen; char *outfile; - char *p; infilelen = strlen(infile); - extlen = strlen(ext); - outfile = (char*)mrb_malloc(mrb, infilelen + extlen + 1); - memcpy(outfile, infile, infilelen + 1); - if (*ext) { - if ((p = strrchr(outfile, '.')) == NULL) - p = outfile + infilelen; - memcpy(p, ext, extlen + 1); - } + flen = infilelen + strlen(ext) + 1; + outfile = (char*)mrb_malloc(mrb, flen); + snprintf(outfile, flen, "%s%s", infile, ext); return outfile; } |
