reduce calling mrb_str_new_cstr() to avoid strlen(); #301

This commit is contained in:
Yukihiro Matsumoto
2012-06-23 13:51:50 +09:00
parent 1fa63930fd
commit f045e64675
11 changed files with 62 additions and 49 deletions
+6 -4
View File
@@ -1061,6 +1061,8 @@ static void
fmt_setup(char *buf, size_t size, int c, int flags, int width, int prec)
{
char *end = buf + size;
int n;
*buf++ = '%';
if (flags & FSHARP) *buf++ = '#';
if (flags & FPLUS) *buf++ = '+';
@@ -1069,13 +1071,13 @@ fmt_setup(char *buf, size_t size, int c, int flags, int width, int prec)
if (flags & FSPACE) *buf++ = ' ';
if (flags & FWIDTH) {
snprintf(buf, end - buf, "%d", width);
buf += strlen(buf);
n = snprintf(buf, end - buf, "%d", width);
buf += n;
}
if (flags & FPREC) {
snprintf(buf, end - buf, ".%d", prec);
buf += strlen(buf);
n = snprintf(buf, end - buf, ".%d", prec);
buf += n;
}
*buf++ = c;