You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2008/09/17 20:54:44 UTC

svn commit: r696395 [1/3] - in /harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar: ./ charset/ charset/additional/

Author: tellison
Date: Wed Sep 17 11:54:42 2008
New Revision: 696395

URL: http://svn.apache.org/viewvc?rev=696395&view=rev
Log:
Allow for NIO_CHAR natives (hycharset) to be removed from runtime and have the Java code used instead.
Add the Harmony charset provider to the provider search list.

Modified:
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/CharsetProviderImpl.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1250.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1251.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1252.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1253.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1254.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1257.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/IBM866.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_1.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_13.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_15.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_2.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_4.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_5.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_7.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_9.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/KOI8_R.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/US_ASCII.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/Big5.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/Big5_HKSCS.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/EUC_KR.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GB18030.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GB2312.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GBK.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM00858.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01140.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01141.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01142.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01143.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01144.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01145.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01146.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01147.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01148.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01149.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM037.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM1026.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM1047.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM273.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM277.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM278.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM280.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM284.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM285.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM297.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM420.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM424.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM437.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM500.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM775.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM850.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM852.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM855.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM857.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM860.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM861.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM862.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM863.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM864.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM865.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM868.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM869.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM870.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM871.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM918.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM_Thai.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/ISO_8859_3.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/ISO_8859_6.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/ISO_8859_8.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/JIS_X0201.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/TIS_620.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/windows_1255.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/windows_1256.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/windows_31j.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_IBM1006.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_IBM1025.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_IBM1097.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_IBM1098.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_IBM1112.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_IBM1122.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_IBM1123.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_IBM1124.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_IBM737.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_IBM856.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_IBM874.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_IBM875.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_IBM922.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_MS950_HKSCS.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_MacCyrillic.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_MacGreek.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_MacTurkish.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/x_windows_949.java
    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/java.nio.charset.spi.CharsetProvider

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/CharsetProviderImpl.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/CharsetProviderImpl.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/CharsetProviderImpl.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/CharsetProviderImpl.java Wed Sep 17 11:54:42 2008
@@ -43,10 +43,23 @@
  */
 public class CharsetProviderImpl extends CharsetProvider {
 
+    /**
+     * Flags whether the default providers have got the native
+     * implementation loaded.  These are optional and used to
+     * improve performance in some circumstances.
+     */
+    private static boolean HAS_LOADED_NATIVES = false;
+
     static {
-    	System.loadLibrary("hycharset");
+        try {
+            System.loadLibrary("hycharset"); //$NON-NLS-1$
+            HAS_LOADED_NATIVES = true;
+        } catch (UnsatisfiedLinkError e) {
+            // Ignore - leave as natives unavailable.
+        }
     }
 
+
     /**
      * The named index of the 0th element of
      * the <code>charsets[]</code> array.
@@ -69,6 +82,16 @@
     protected static final int CHARSET_ALIASES = 2; 
 
     /**
+     * Answers whether the provider has loaded the native
+     * implementation of the encoders/decoders.
+     * 
+     * @return true if the natives are loaded.
+     */
+    public static boolean hasLoadedNatives() {
+        return HAS_LOADED_NATIVES;
+    }
+
+    /**
      * A cache of the charset instances.
      */
     protected Map cache;

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1250.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1250.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1250.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1250.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class CP_1250 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -135,7 +136,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -362,4 +363,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1251.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1251.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1251.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1251.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class CP_1251 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -135,7 +136,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -345,4 +346,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1252.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1252.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1252.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1252.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class CP_1252 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -135,7 +136,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -362,4 +363,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1253.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1253.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1253.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1253.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class CP_1253 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -151,7 +152,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -378,4 +379,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1254.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1254.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1254.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1254.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class CP_1254 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -135,7 +136,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -362,4 +363,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1257.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1257.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1257.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/CP_1257.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class CP_1257 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -151,7 +152,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -378,4 +379,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/IBM866.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/IBM866.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/IBM866.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/IBM866.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class IBM866 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -148,7 +149,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -375,4 +376,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_1.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_1.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_1.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_1.java Wed Sep 17 11:54:42 2008
@@ -25,6 +25,7 @@
 import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 
 public class ISO_8859_1 extends Charset {
@@ -79,7 +80,7 @@
 						return CoderResult.OVERFLOW;
 					}
 					return CoderResult.UNDERFLOW;
-				} else if (bb.isDirect()) {
+				} else if (CharsetProviderImpl.hasLoadedNatives() && bb.isDirect()) {
 					int toProceed = bbRemaining;
 					boolean throwOverflow = false;
 					int cbPos = cb.position();
@@ -170,7 +171,7 @@
 						return CoderResult.malformedForLength(1);
 					}
 					return CoderResult.unmappableForLength(1);
-				} else if (bb.isDirect()) {
+				} else if (CharsetProviderImpl.hasLoadedNatives() && bb.isDirect()) {
 					int toProceed = cbRemaining;
 					boolean throwOverflow = false;
 					int cbPos = cb.position();

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_13.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_13.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_13.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_13.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class ISO_8859_13 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -131,7 +132,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -324,4 +325,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_15.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_15.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_15.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_15.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class ISO_8859_15 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -131,7 +132,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -324,4 +325,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_2.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_2.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_2.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_2.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class ISO_8859_2 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -131,7 +132,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -324,4 +325,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_4.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_4.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_4.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_4.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class ISO_8859_4 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -131,7 +132,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -324,4 +325,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_5.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_5.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_5.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_5.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class ISO_8859_5 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -131,7 +132,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -324,4 +325,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_7.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_7.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_7.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_7.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class ISO_8859_7 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -147,7 +148,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -340,4 +341,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_9.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_9.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_9.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/ISO_8859_9.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class ISO_8859_9 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -125,7 +126,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -301,4 +302,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/KOI8_R.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/KOI8_R.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/KOI8_R.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/KOI8_R.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class KOI8_R extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -135,7 +136,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -362,4 +363,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/US_ASCII.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/US_ASCII.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/US_ASCII.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/US_ASCII.java Wed Sep 17 11:54:42 2008
@@ -25,6 +25,7 @@
 import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class US_ASCII extends Charset {
 	
@@ -61,7 +62,7 @@
 		public native int nDecode(char[] array, int arrPosition, int remaining, long outAddr, int absolutePos);
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
-                    if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+                    if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
                         int toProceed = bb.remaining();
                         boolean throwOverflow = false; 
                         if( cb.remaining() < toProceed ) { 
@@ -125,7 +126,7 @@
 
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                     int bbRemaining = bb.remaining();                                                                     
-                    if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){                                                
+                    if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){                                                
                         int toProceed = cb.remaining();
                         boolean throwOverflow = false; 
                         int cbPos = cb.position();

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/Big5.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/Big5.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/Big5.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/Big5.java Wed Sep 17 11:54:42 2008
@@ -17,13 +17,15 @@
 
 package org.apache.harmony.niochar.charset.additional;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
+
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class Big5 extends Charset {
 
@@ -54,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                     int cbRemaining = cb.remaining();
-                    if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+                    if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
                         int cbPos = cb.position();
                         int bbPos = bb.position();
                         int[] res = {bb.remaining(), cbRemaining, 0, 0};
@@ -311,7 +313,7 @@
 
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                   int bbRemaining = bb.remaining();
-                  if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                  if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
                       int toProceed = (bbRemaining < cb.remaining()) ? bbRemaining : cb.remaining();
                       int cbPos = cb.position();
                       int bbPos = bb.position();
@@ -571,4 +573,4 @@
         };
 
 	}
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/Big5_HKSCS.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/Big5_HKSCS.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/Big5_HKSCS.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/Big5_HKSCS.java Wed Sep 17 11:54:42 2008
@@ -17,13 +17,15 @@
 
 package org.apache.harmony.niochar.charset.additional;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
+
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class Big5_HKSCS extends Charset {
 
@@ -54,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                     int cbRemaining = cb.remaining();
-                    if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+                    if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
                         int cbPos = cb.position();
                         int bbPos = bb.position();
                         int[] res = {bb.remaining(), cbRemaining, 0, 0};
@@ -307,7 +309,7 @@
 
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                   int bbRemaining = bb.remaining();
-                  if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                  if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
                       int toProceed = (bbRemaining < cb.remaining()) ? bbRemaining : cb.remaining();
                       int cbPos = cb.position();
                       int bbPos = bb.position();
@@ -588,4 +590,4 @@
         };
 
 	}
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/EUC_KR.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/EUC_KR.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/EUC_KR.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/EUC_KR.java Wed Sep 17 11:54:42 2008
@@ -17,13 +17,15 @@
 
 package org.apache.harmony.niochar.charset.additional;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
+
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class EUC_KR extends Charset {
 
@@ -54,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                     int cbRemaining = cb.remaining();
-                    if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+                    if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
                         int cbPos = cb.position();
                         int bbPos = bb.position();
                         int[] res = {bb.remaining(), cbRemaining, 0, 0};
@@ -264,7 +266,7 @@
 
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                   int bbRemaining = bb.remaining();
-                  if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                  if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
                       int toProceed = (bbRemaining < cb.remaining()) ? bbRemaining : cb.remaining();
                       int cbPos = cb.position();
                       int bbPos = bb.position();
@@ -560,4 +562,4 @@
         };
 
 	}
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GB18030.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GB18030.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GB18030.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GB18030.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,34 @@
 
 package org.apache.harmony.niochar.charset.additional;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
+
 import org.apache.harmony.nio.AddressUtil;
-import org.apache.harmony.niochar.charset.*;
+import org.apache.harmony.niochar.CharsetProviderImpl;
+import org.apache.harmony.niochar.charset.CP_1251;
+import org.apache.harmony.niochar.charset.CP_1252;
+import org.apache.harmony.niochar.charset.CP_1253;
+import org.apache.harmony.niochar.charset.CP_1254;
+import org.apache.harmony.niochar.charset.CP_1257;
+import org.apache.harmony.niochar.charset.ISO_8859_1;
+import org.apache.harmony.niochar.charset.ISO_8859_13;
+import org.apache.harmony.niochar.charset.ISO_8859_15;
+import org.apache.harmony.niochar.charset.ISO_8859_2;
+import org.apache.harmony.niochar.charset.ISO_8859_4;
+import org.apache.harmony.niochar.charset.ISO_8859_5;
+import org.apache.harmony.niochar.charset.ISO_8859_7;
+import org.apache.harmony.niochar.charset.ISO_8859_9;
+import org.apache.harmony.niochar.charset.KOI8_R;
+import org.apache.harmony.niochar.charset.US_ASCII;
+import org.apache.harmony.niochar.charset.UTF_16;
+import org.apache.harmony.niochar.charset.UTF_16BE;
+import org.apache.harmony.niochar.charset.UTF_16LE;
+import org.apache.harmony.niochar.charset.UTF_8;
 
 public class GB18030 extends Charset {
 
@@ -861,7 +881,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                     int cbRemaining = cb.remaining();
-                    if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+                    if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
                         int cbPos = cb.position();
                         int bbPos = bb.position();
                         int[] res = {bb.remaining(), cbRemaining, 0, 0};
@@ -1160,7 +1180,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){                                             
                   int bbRemaining = bb.remaining();                                                                     
-                  if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){                                                
+                  if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){                                                
                       int toProceed = (bbRemaining < cb.remaining()) ? bbRemaining : cb.remaining();
                       int cbPos = cb.position();
                       int bbPos = bb.position();

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GB2312.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GB2312.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GB2312.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GB2312.java Wed Sep 17 11:54:42 2008
@@ -17,13 +17,15 @@
 
 package org.apache.harmony.niochar.charset.additional;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
+
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class GB2312 extends Charset {
 
@@ -54,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                     int cbRemaining = cb.remaining();
-                    if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+                    if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
                         int cbPos = cb.position();
                         int bbPos = bb.position();
                         int[] res = {bb.remaining(), cbRemaining, 0, 0};
@@ -267,7 +269,7 @@
 
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                   int bbRemaining = bb.remaining();
-                  if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                  if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
                       int toProceed = (bbRemaining < cb.remaining()) ? bbRemaining : cb.remaining();
                       int cbPos = cb.position();
                       int bbPos = bb.position();
@@ -503,4 +505,4 @@
         };
 
 	}
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GBK.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GBK.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GBK.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/GBK.java Wed Sep 17 11:54:42 2008
@@ -17,13 +17,15 @@
 
 package org.apache.harmony.niochar.charset.additional;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
+
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class GBK extends Charset {
 
@@ -54,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                     int cbRemaining = cb.remaining();
-                    if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+                    if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
                         int cbPos = cb.position();
                         int bbPos = bb.position();
                         int[] res = {bb.remaining(), cbRemaining, 0, 0};
@@ -311,7 +313,7 @@
 
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                   int bbRemaining = bb.remaining();
-                  if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                  if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
                       int toProceed = (bbRemaining < cb.remaining()) ? bbRemaining : cb.remaining();
                       int cbPos = cb.position();
                       int bbPos = bb.position();
@@ -555,4 +557,4 @@
         };
 
 	}
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM00858.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM00858.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM00858.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM00858.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset.additional;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class IBM00858 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -148,7 +149,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -358,4 +359,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01140.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01140.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01140.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01140.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset.additional;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class IBM01140 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -151,7 +152,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -327,4 +328,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01141.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01141.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01141.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01141.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset.additional;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class IBM01141 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -151,7 +152,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -327,4 +328,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01142.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01142.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01142.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01142.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset.additional;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class IBM01142 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -151,7 +152,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -327,4 +328,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01143.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01143.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01143.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01143.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset.additional;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class IBM01143 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -151,7 +152,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -327,4 +328,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01144.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01144.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01144.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01144.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset.additional;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class IBM01144 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -151,7 +152,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -327,4 +328,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01145.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01145.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01145.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01145.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset.additional;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class IBM01145 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -151,7 +152,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -327,4 +328,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01146.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01146.java?rev=696395&r1=696394&r2=696395&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01146.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/additional/IBM01146.java Wed Sep 17 11:54:42 2008
@@ -17,14 +17,15 @@
 
 package org.apache.harmony.niochar.charset.additional;
 
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.nio.charset.CoderResult;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
-import java.nio.CharBuffer;
-import java.nio.ByteBuffer;
+import java.nio.charset.CoderResult;
 
 import org.apache.harmony.nio.AddressUtil;
+import org.apache.harmony.niochar.CharsetProviderImpl;
 
 public class IBM01146 extends Charset {
 
@@ -55,7 +56,7 @@
 
 		protected CoderResult decodeLoop(ByteBuffer bb, CharBuffer cb){
                         int cbRemaining = cb.remaining();
-		        if(bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
+		        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && bb.hasRemaining() && cb.hasArray()){
 		            int toProceed = bb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -151,7 +152,7 @@
                                                                                                                           
 		protected CoderResult encodeLoop(CharBuffer cb, ByteBuffer bb){
                         int bbRemaining = bb.remaining();
-                        if(bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
+                        if(CharsetProviderImpl.hasLoadedNatives() && bb.isDirect() && cb.hasRemaining() && cb.hasArray()){
 		            int toProceed = cb.remaining();
 		            int cbPos = cb.position();
 		            int bbPos = bb.position();
@@ -327,4 +328,4 @@
                  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                 };
 	}         
-}
\ No newline at end of file
+}