diff options
| author | Björn Gustavsson <[email protected]> | 2011-08-30 11:51:11 +0200 | 
|---|---|---|
| committer | Björn Gustavsson <[email protected]> | 2011-10-13 14:16:00 +0200 | 
| commit | 34db76765561487e526fe66d3d19ecf3b3fb9dc8 (patch) | |
| tree | 9141e3c5729e46d03c8b27b14da3b29b1e54abca /lib/jinterface/java_src/com | |
| parent | 6ca6dd3c670fb8185ebb9a20c2a731a7375c1cac (diff) | |
| download | otp-34db76765561487e526fe66d3d19ecf3b3fb9dc8.tar.gz otp-34db76765561487e526fe66d3d19ecf3b3fb9dc8.tar.bz2 otp-34db76765561487e526fe66d3d19ecf3b3fb9dc8.zip | |
Allow noncharacter code points in unicode encoding and decoding
The two noncharacter code points 16#FFFE and 16#FFFF were not
allowed to be encoded or decoded using the unicode module or
bit syntax. That causes an inconsistency, since the noncharacters
16#FDD0 to 16#FDEF could be encoded/decoded.
There is two ways to fix that inconsistency.
We have chosen to allow 16#FFFE and 16#FFFF to be encoded and
decoded, because the noncharacters could be useful internally
within an application and it will make encoding and decoding
slightly faster.
Reported-by: Alisdair Sullivan
Diffstat (limited to 'lib/jinterface/java_src/com')
| -rw-r--r-- | lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangString.java | 5 | 
1 files changed, 2 insertions, 3 deletions
| diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangString.java b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangString.java index 19ee92e0d0..23734bf83b 100644 --- a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangString.java +++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangString.java @@ -166,7 +166,7 @@ public class OtpErlangString extends OtpErlangObject implements Serializable,      /**       * Validate a code point according to Erlang definition; Unicode 3.0.       * That is; valid in the range U+0..U+10FFFF, but not in the range -     * U+D800..U+DFFF (surrogat pairs), nor U+FFFE..U+FFFF (non-characters). +     * U+D800..U+DFFF (surrogat pairs).       *       * @param  cp       *             the code point value to validate @@ -179,8 +179,7 @@ public class OtpErlangString extends OtpErlangObject implements Serializable,  	// Erlang definition of valid Unicode code points;   	// Unicode 3.0, XML, et.al.  	return (cp>>>16) <= 0x10 // in 0..10FFFF; Unicode range -	    && (cp & ~0x7FF) != 0xD800 // not in D800..DFFF; surrogate range -	    && (cp & ~1) != 0xFFFE; // not in FFFE..FFFF; non-characters +	    && (cp & ~0x7FF) != 0xD800; // not in D800..DFFF; surrogate range      }      /** | 
