summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-06-23 13:08:38 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2020-06-25 06:57:42 +0900
commit9dfe50f1d96178a9615b4fcdfe1ae2f5df71297f (patch)
tree4c067b356ee65ae39525734ca7ef425e87bd434e
parentc07f24cd18ab41117f6ec3b9a1246786e4d0d8bf (diff)
downloadmruby-9dfe50f1d96178a9615b4fcdfe1ae2f5df71297f.tar.gz
mruby-9dfe50f1d96178a9615b4fcdfe1ae2f5df71297f.zip
Use `snprintf` instead of `memcpy` in `mrbc.c`.
-rw-r--r--mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c14
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;
}