Commit ccec3da3 authored by Masaki Muranaka's avatar Masaki Muranaka

Use return value of vsnprintf() for the string length. It is redundant using strlen().

parent 9983e1d7
...@@ -177,11 +177,15 @@ mrb_raise(mrb_state *mrb, struct RClass *c, const char *fmt, ...) ...@@ -177,11 +177,15 @@ mrb_raise(mrb_state *mrb, struct RClass *c, const char *fmt, ...)
{ {
va_list args; va_list args;
char buf[256]; char buf[256];
int n;
va_start(args, fmt); va_start(args, fmt);
vsnprintf(buf, 256, fmt, args); n = vsnprintf(buf, 256, fmt, args);
va_end(args); va_end(args);
mrb_exc_raise(mrb, mrb_exc_new(mrb, c, buf, strlen(buf))); if (n < 0) {
n = 0;
}
mrb_exc_raise(mrb, mrb_exc_new(mrb, c, buf, n));
} }
void void
...@@ -190,12 +194,15 @@ mrb_name_error(mrb_state *mrb, mrb_sym id, const char *fmt, ...) ...@@ -190,12 +194,15 @@ mrb_name_error(mrb_state *mrb, mrb_sym id, const char *fmt, ...)
mrb_value exc, argv[2]; mrb_value exc, argv[2];
va_list args; va_list args;
char buf[256]; char buf[256];
int n;
va_start(args, fmt); va_start(args, fmt);
//argv[0] = mrb_vsprintf(fmt, args); n = vsnprintf(buf, 256, fmt, args);
vsnprintf(buf, 256, fmt, args);
argv[0] = mrb_str_new(mrb, buf, strlen(buf));
va_end(args); va_end(args);
if (n < 0) {
n = 0;
}
argv[0] = mrb_str_new(mrb, buf, n);
argv[1] = mrb_str_new_cstr(mrb, mrb_sym2name(mrb, id)); argv[1] = mrb_str_new_cstr(mrb, mrb_sym2name(mrb, id));
exc = mrb_class_new_instance(mrb, 2, argv, E_NAME_ERROR); exc = mrb_class_new_instance(mrb, 2, argv, E_NAME_ERROR);
...@@ -207,11 +214,15 @@ mrb_sprintf(mrb_state *mrb, const char *fmt, ...) ...@@ -207,11 +214,15 @@ mrb_sprintf(mrb_state *mrb, const char *fmt, ...)
{ {
va_list args; va_list args;
char buf[256]; char buf[256];
int n;
va_start(args, fmt); va_start(args, fmt);
vsnprintf(buf, 256, fmt, args); n = vsnprintf(buf, 256, fmt, args);
va_end(args); va_end(args);
return mrb_str_new(mrb, buf, strlen(buf)); if (n < 0) {
n = 0;
}
return mrb_str_new(mrb, buf, n);
} }
void void
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment