Hideki Yamane pushed to branch master at Debian Java Maintainers / jcodings
Commits: 0860897b by Josef Haider at 2022-07-15T13:32:59+02:00 Fix UNICODE_VALID_CODEPOINT_P - - - - - c1e30975 by Charles Oliver Nutter at 2022-09-22T00:41:09-05:00 Merge pull request #59 from djoooooe/jh/fix-unicode-valid-codepoint Fix handling of negative values in UNICODE_VALID_CODEPOINT_P. - - - - - 7d647c5d by Charles Oliver Nutter at 2022-11-10T13:43:39-06:00 Fixes for CESU-8 * Use sStart and oStart for transcoding in and out offsets. * Do not override state init. - - - - - 729c96c8 by Charles Oliver Nutter at 2022-11-10T13:52:47-06:00 [maven-release-plugin] prepare release jcodings-1.0.58 - - - - - 367e3c73 by Charles Oliver Nutter at 2022-11-10T13:52:50-06:00 [maven-release-plugin] prepare for next development iteration - - - - - 4 changed files: - pom.xml - src/org/jcodings/transcode/TranscodeFunctions.java - src/org/jcodings/transcode/specific/To_CESU_8_Transcoder.java - src/org/jcodings/util/Macros.java Changes: ===================================== pom.xml ===================================== @@ -3,7 +3,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.jruby.jcodings</groupId> <artifactId>jcodings</artifactId> - <version>1.0.58-SNAPSHOT</version> + <version>1.0.59-SNAPSHOT</version> <name>JCodings</name> <description>Byte based encoding support library for java</description> <parent> ===================================== src/org/jcodings/transcode/TranscodeFunctions.java ===================================== @@ -15,23 +15,23 @@ public class TranscodeFunctions { public static final int LE = 2; public static int funSoToCESU8(byte[] statep, byte[] s, int sStart, int l, byte[] o, int oStart, int osize) { - long scalar = ((s[0] & 0x07) << 18) | ((s[1] & 0x3F) << 12) | ((s[2] & 0x3F) << 6) | (s[3] & 0x3F); + long scalar = ((toUnsignedInt(s[sStart+0]) & 0x07) << 18) | ((toUnsignedInt(s[sStart+1]) & 0x3F) << 12) | ((toUnsignedInt(s[sStart+2]) & 0x3F) << 6) | (toUnsignedInt(s[sStart+3]) & 0x3F); scalar -= 0x10000; - o[0] = (byte)0xED; - o[1] = (byte)(0xA0 | (scalar >> 16)); - o[2] = (byte)(0x80 | ((scalar >> 10) & 0x3F)); - o[3] = (byte)0xED; - o[4] = (byte)(0xB0 | ((scalar >> 6) & 0x0F)); - o[5] = (byte)(0x80 | (scalar & 0x3F)); + o[oStart+0] = (byte)0xED; + o[oStart+1] = (byte)(0xA0 | (scalar >> 16)); + o[oStart+2] = (byte)(0x80 | ((scalar >> 10) & 0x3F)); + o[oStart+3] = (byte)0xED; + o[oStart+4] = (byte)(0xB0 | ((scalar >> 6) & 0x0F)); + o[oStart+5] = (byte)(0x80 | (scalar & 0x3F)); return 6; } public static int funSoFromCESU8(byte[] statep, byte[] s, int sStart, int l, byte[] o, int oStart, int osize) { - long scalar = (((s[1] & 0x0F) << 16) | ((s[2] & 0x3F) << 10) | ((s[4] & 0x0F) << 6) | (s[5] & 0x3F)) + 0x10000; - o[0] = (byte)(0xF0 | (scalar >> 18)); - o[1] = (byte)(0x80 | ((scalar >> 12) & 0x3F)); - o[2] = (byte)(0x80 | ((scalar >> 6) & 0x3F)); - o[3] = (byte)(0x80 | (scalar & 0x3F)); + long scalar = (((toUnsignedInt(s[sStart+1]) & 0x0F) << 16) | ((toUnsignedInt(s[sStart+2]) & 0x3F) << 10) | ((toUnsignedInt(s[sStart+4]) & 0x0F) << 6) | (toUnsignedInt(s[sStart+5]) & 0x3F)) + 0x10000; + o[oStart+0] = (byte)(0xF0 | (scalar >> 18)); + o[oStart+1] = (byte)(0x80 | ((scalar >> 12) & 0x3F)); + o[oStart+2] = (byte)(0x80 | ((scalar >> 6) & 0x3F)); + o[oStart+3] = (byte)(0x80 | (scalar & 0x3F)); return 4; } ===================================== src/org/jcodings/transcode/specific/To_CESU_8_Transcoder.java ===================================== @@ -30,17 +30,6 @@ public class To_CESU_8_Transcoder extends Transcoder { public static final Transcoder INSTANCE = new To_CESU_8_Transcoder(); - @Override - public boolean hasStateInit() { - return true; - } - - @Override - public int stateInit(byte[] statep) { - statep[0] = 0; - return 0; - } - @Override public int startToOutput(byte[] statep, byte[] s, int sStart, int l, byte[] o, int oStart, int oSize) { return TranscodeFunctions.funSoToCESU8(statep, s, sStart, l, o, oStart, oSize); ===================================== src/org/jcodings/util/Macros.java ===================================== @@ -48,7 +48,7 @@ public class Macros { // UNICODE_VALID_CODEPOINT_P public static boolean UNICODE_VALID_CODEPOINT_P(int c) { - return ((c) <= 0x10ffff) && + return (Integer.compareUnsigned(c, 0x10ffff) <= 0) && !((c) < 0x10000 && UTF16_IS_SURROGATE((c) >> 8)); } View it on GitLab: https://salsa.debian.org/java-team/jcodings/-/compare/d87794d566a81e15c4a27f05d91f5c151bc52928...367e3c73b78415132314ed834297354c17c6979f -- View it on GitLab: https://salsa.debian.org/java-team/jcodings/-/compare/d87794d566a81e15c4a27f05d91f5c151bc52928...367e3c73b78415132314ed834297354c17c6979f You're receiving this email because of your account on salsa.debian.org.
_______________________________________________ pkg-java-commits mailing list pkg-java-comm...@alioth-lists.debian.net https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-java-commits