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: [email protected]
For additional commands, e-mail: [email protected]