diff --git a/ext/json/parser/parser.c b/ext/json/parser/parser.c index 0ac16918f876b9..f1ea1b6abbfdc3 100644 --- a/ext/json/parser/parser.c +++ b/ext/json/parser/parser.c @@ -739,9 +739,7 @@ NOINLINE(static) VALUE json_string_unescape(JSON_ParserState *state, JSON_Parser } } - char buf[4]; - int unescape_len = convert_UTF32_to_UTF8(buf, ch); - MEMCPY(buffer, buf, char, unescape_len); + int unescape_len = convert_UTF32_to_UTF8(buffer, ch); buffer += unescape_len; p = ++pe; break; diff --git a/struct.c b/struct.c index 31df3798cbcb4b..a438ddd6136092 100644 --- a/struct.c +++ b/struct.c @@ -981,6 +981,7 @@ inspect_struct(VALUE s, VALUE prefix, int recur) char first = RSTRING_PTR(cname)[0]; if (recur || first != '#') { + rb_str_cat2(str, " "); rb_str_append(str, cname); } if (recur) { @@ -997,7 +998,7 @@ inspect_struct(VALUE s, VALUE prefix, int recur) if (i > 0) { rb_str_cat2(str, ", "); } - else if (first != '#') { + else { rb_str_cat2(str, " "); } slot = RARRAY_AREF(members, i); @@ -1031,7 +1032,7 @@ inspect_struct(VALUE s, VALUE prefix, int recur) static VALUE rb_struct_inspect(VALUE s) { - return rb_exec_recursive(inspect_struct, s, rb_str_new2("#', test.inspect) + assert_equal('#', test.inspect) assert_equal([], test.members) assert_equal({}, test.to_h) assert_predicate(test, :frozen?)