diff options
author | Daniel Luz <dev@mernen.com> | 2010-08-07 05:41:01 -0300 |
---|---|---|
committer | Daniel Luz <dev@mernen.com> | 2010-08-07 05:46:51 -0300 |
commit | 2c448b41cba11e4acd6492e17618ddf8d48f5e0c (patch) | |
tree | 3a472e7153a8016ffd5c3345c26a1dc7f6ea2c08 | |
parent | ad1af511bd6e85e221e4ef42654c7986ef348912 (diff) | |
download | json-2c448b41cba11e4acd6492e17618ddf8d48f5e0c.tar.gz |
Java: fixed Generator::State setters for String values
-rw-r--r-- | src/json/ext/GeneratorState.java | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/json/ext/GeneratorState.java b/src/json/ext/GeneratorState.java index c5a8d15..1f24055 100644 --- a/src/json/ext/GeneratorState.java +++ b/src/json/ext/GeneratorState.java @@ -382,12 +382,9 @@ public class GeneratorState extends RubyObject { private ByteList prepareByteList(ThreadContext context, IRubyObject value) { RubyString str = value.convertToString(); - IRubyObject encoding = str.encoding(context); - if (encoding != null) { - RuntimeInfo info = RuntimeInfo.forRuntime(context.getRuntime()); - if (encoding != info.utf8) { - str = (RubyString)str.encode(context, info.utf8); - } + RuntimeInfo info = RuntimeInfo.forRuntime(context.getRuntime()); + if (info.encodingsSupported() && str.encoding(context) != info.utf8) { + str = (RubyString)str.encode(context, info.utf8); } return str.getByteList().dup(); } |