aboutsummaryrefslogtreecommitdiffstats
path: root/lib/jinterface/java_src
diff options
context:
space:
mode:
authorHenrik Nord <henrik@erlang.org>2012-02-16 12:20:44 +0100
committerHenrik Nord <henrik@erlang.org>2012-02-16 12:20:49 +0100
commit377672dbef977595bdfa8182f1eacac043753e74 (patch)
treee89690222b6bc2e8cf16687ce0f12b5ace9be2d0 /lib/jinterface/java_src
parent86ceb50d68ab3225b1152358f14125f01d705694 (diff)
parente01d6f39b940d917ae445d8428b154de87888000 (diff)
downloadotp-377672dbef977595bdfa8182f1eacac043753e74.tar.gz
otp-377672dbef977595bdfa8182f1eacac043753e74.tar.bz2
otp-377672dbef977595bdfa8182f1eacac043753e74.zip
Merge branch 'vd/java-string-bug' into maint
* vd/java-string-bug: add test for Java string bug workaround for Java bug http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6242664 OTP-9927
Diffstat (limited to 'lib/jinterface/java_src')
-rw-r--r--lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangString.java17
1 files changed, 10 insertions, 7 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 8cd900aada..be8b7c5c12 100644
--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangString.java
+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangString.java
@@ -154,13 +154,16 @@ public class OtpErlangString extends OtpErlangObject implements Serializable,
* Unicode code points
*/
- public static int[] stringToCodePoints(final String s) {
- final int m = s.codePointCount(0, s.length());
- final int [] codePoints = new int[m];
- for (int i = 0, j = 0; j < m; i = s.offsetByCodePoints(i, 1), j++) {
- codePoints[j] = s.codePointAt(i);
- }
- return codePoints;
+ public static int[] stringToCodePoints(final String s) {
+ final int m = s.codePointCount(0, s.length());
+ final int[] codePoints = new int[m];
+ int j = 0;
+ for (int offset = 0; offset < s.length();) {
+ final int codepoint = s.codePointAt(offset);
+ codePoints[j++] = codepoint;
+ offset += Character.charCount(codepoint);
+ }
+ return codePoints;
}
/**