diff --git a/src/string.c b/src/string.c index b3e159396..7c97d24fc 100644 --- a/src/string.c +++ b/src/string.c @@ -218,10 +218,9 @@ str_modify_keep_ascii(mrb_state *mrb, struct RString *s) } static void -check_null_byte(mrb_state *mrb, mrb_value str) +check_null_byte(mrb_state *mrb, struct RString *str) { - mrb_ensure_string_type(mrb, str); - if (memchr(RSTRING_PTR(str), '\0', RSTRING_LEN(str))) { + if (memchr(RSTR_PTR(str), '\0', RSTR_LEN(str))) { mrb_raise(mrb, E_ARGUMENT_ERROR, "string contains null byte"); } } @@ -700,15 +699,11 @@ str_rindex(mrb_state *mrb, mrb_value str, mrb_value sub, mrb_int pos) MRB_API mrb_int mrb_str_strlen(mrb_state *mrb, struct RString *s) { - mrb_int i, max = RSTR_LEN(s); + mrb_int max = RSTR_LEN(s); char *p = RSTR_PTR(s); if (!p) return 0; - for (i=0; i