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