diff options
Diffstat (limited to 'lib/jinterface/java_src')
| -rw-r--r-- | lib/jinterface/java_src/com/ericsson/otp/erlang/OtpOutputStream.java | 29 | 
1 files changed, 7 insertions, 22 deletions
| diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpOutputStream.java b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpOutputStream.java index dca2eb7c51..e1718f8380 100644 --- a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpOutputStream.java +++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpOutputStream.java @@ -403,7 +403,6 @@ public class OtpOutputStream extends ByteArrayOutputStream {      public void write_atom(final String atom) {          String enc_atom;          byte[] bytes; -        boolean isLatin1 = true;          if (atom.codePointCount(0, atom.length()) <= OtpExternal.maxAtomLength) {              enc_atom = atom; @@ -416,29 +415,15 @@ public class OtpOutputStream extends ByteArrayOutputStream {                      OtpExternal.maxAtomLength);          } -        for (int offset = 0; offset < enc_atom.length();) { -            final int cp = enc_atom.codePointAt(offset); -            if ((cp & ~0xFF) != 0) { -                isLatin1 = false; -                break; -            } -            offset += Character.charCount(cp); -        }          try { -            if (isLatin1) { -                bytes = enc_atom.getBytes("ISO-8859-1"); -                write1(OtpExternal.atomTag); -                write2BE(bytes.length); +            bytes = enc_atom.getBytes("UTF-8"); +            final int length = bytes.length; +            if (length < 256) { +                write1(OtpExternal.smallAtomUtf8Tag); +                write1(length);              } else { -                bytes = enc_atom.getBytes("UTF-8"); -                final int length = bytes.length; -                if (length < 256) { -                    write1(OtpExternal.smallAtomUtf8Tag); -                    write1(length); -                } else { -                    write1(OtpExternal.atomUtf8Tag); -                    write2BE(length); -                } +                write1(OtpExternal.atomUtf8Tag); +                write2BE(length);              }              writeN(bytes);          } catch (final java.io.UnsupportedEncodingException e) { | 
