Author: markt
Date: Tue Jan 16 21:02:48 2018
New Revision: 1821314

URL: http://svn.apache.org/viewvc?rev=1821314&view=rev
Log:
Review remaining diff between 9.0.x and 8.5.x and back-port remaining changes.

Modified:
    tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java
    tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/buf/CharChunk.java

Modified: tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java?rev=1821314&r1=1821313&r2=1821314&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java 
(original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java Tue Jan 
16 21:02:48 2018
@@ -17,6 +17,8 @@
 package org.apache.tomcat.util.buf;
 
 import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
 import java.nio.charset.Charset;
@@ -128,8 +130,9 @@ public final class ByteChunk extends Abs
     // byte[]
     private byte[] buff;
 
-    private ByteInputChannel in = null;
-    private ByteOutputChannel out = null;
+    // transient as serialization is primarily for values via, e.g. JMX
+    private transient ByteInputChannel in = null;
+    private transient ByteOutputChannel out = null;
 
 
     /**
@@ -143,6 +146,19 @@ public final class ByteChunk extends Abs
         allocate(initial, -1);
     }
 
+
+    private void writeObject(ObjectOutputStream oos) throws IOException {
+        oos.defaultWriteObject();
+        oos.writeUTF(getCharset().name());
+    }
+
+
+    private void readObject(ObjectInputStream ois) throws 
ClassNotFoundException, IOException {
+        ois.defaultReadObject();
+        this.charset = Charset.forName(ois.readUTF());
+    }
+
+
     @Override
     public Object clone() throws CloneNotSupportedException {
         return super.clone();
@@ -699,6 +715,7 @@ public final class ByteChunk extends Abs
         return (ret >= start) ? ret - start : -1;
     }
 
+
     /**
      * Returns the first instance of the given character in the given byte 
array
      * between the specified start and end. <br>

Modified: tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/buf/CharChunk.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/buf/CharChunk.java?rev=1821314&r1=1821313&r2=1821314&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/buf/CharChunk.java 
(original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/buf/CharChunk.java Tue Jan 
16 21:02:48 2018
@@ -70,8 +70,9 @@ public final class CharChunk extends Abs
     // char[]
     private char[] buff;
 
-    private CharInputChannel in = null;
-    private CharOutputChannel out = null;
+    // transient as serialization is primarily for values via, e.g. JMX
+    private transient CharInputChannel in = null;
+    private transient CharOutputChannel out = null;
 
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to