Apply patch for HARMONY-6408: [classlib][luni]OutputStreamWriterTest got java.nio.BufferOverflowException
git-svn-id: https://svn.apache.org/repos/asf/harmony/enhanced/classlib/trunk@893377 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/modules/luni/src/main/native/luni/windows/charsetmap.h b/modules/luni/src/main/native/luni/windows/charsetmap.h
index 51fd315..33e0a6b 100644
--- a/modules/luni/src/main/native/luni/windows/charsetmap.h
+++ b/modules/luni/src/main/native/luni/windows/charsetmap.h
@@ -31,7 +31,7 @@
863,"IBM863", 864,"IBM864", 865,"IBM865",
866,"cp866", 869,"ibm869", 870,"IBM870",
874,"windows-874", 875,"cp875", 932,"shift_jis",
- 936,"gb2312", 949,"ks_c_5601-1987", 950,"big5",
+ 936,"GBK", 949,"ks_c_5601-1987", 950,"big5",
1026,"IBM1026", 1047,"IBM01047", 1140,"IBM01140",
1141,"IBM01141", 1142,"IBM01142", 1143,"IBM01143",
1144,"IBM01144", 1145,"IBM01145", 1146,"IBM01146",
diff --git a/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GB2312.java b/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GB2312.java
index e27078f..6d33a56 100644
--- a/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GB2312.java
+++ b/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GB2312.java
@@ -295,6 +295,7 @@
}else{
if(c < 0x008E) {
bb.put((byte)c);
+ bbRemaining--;
} else {
int index = (int)c >> 8;
index = encodeIndex[index];
diff --git a/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GBK.java b/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GBK.java
index 741e20a..289da30 100644
--- a/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GBK.java
+++ b/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GBK.java
@@ -339,6 +339,7 @@
}else{
if(c < 0x0080) {
bb.put((byte)c);
+ bbRemaining--;
} else {
int index = (int)c >> 8;
index = encodeIndex[index];