diff options
Diffstat (limited to 'ext/json/generator/generator.c')
-rw-r--r-- | ext/json/generator/generator.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/ext/json/generator/generator.c b/ext/json/generator/generator.c index e968619205..766e199f74 100644 --- a/ext/json/generator/generator.c +++ b/ext/json/generator/generator.c @@ -947,23 +947,20 @@ static void generate_json_array(FBuffer *buffer, VALUE Vstate, JSON_Generator_St fbuffer_append_char(buffer, ']'); } -#ifdef HAVE_RUBY_ENCODING_H static int enc_utf8_compatible_p(rb_encoding *enc) { if (enc == rb_usascii_encoding()) return 1; if (enc == rb_utf8_encoding()) return 1; return 0; } -#endif static void generate_json_string(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj) { fbuffer_append_char(buffer, '"'); -#ifdef HAVE_RUBY_ENCODING_H if (!enc_utf8_compatible_p(rb_enc_get(obj))) { obj = rb_str_export_to_enc(obj, rb_utf8_encoding()); } -#endif + if (state->ascii_only) { convert_UTF8_to_JSON_ASCII(buffer, obj, state->script_safe); } else { |