From: pero Date: Thu, 13 Sep 2007 21:56:30 +0000 (+0000) Subject: Improve large-file support (more then 4 Gb) at all AccessLogValves, backport from... X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=87dd97b0a6020c17664d83491d3a2b6e347d0f5e;p=tomcat7.0 Improve large-file support (more then 4 Gb) at all AccessLogValves, backport from 5.5.25. git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@575478 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/connector/OutputBuffer.java b/java/org/apache/catalina/connector/OutputBuffer.java index 4f282a2f8..769f8b475 100644 --- a/java/org/apache/catalina/connector/OutputBuffer.java +++ b/java/org/apache/catalina/connector/OutputBuffer.java @@ -70,13 +70,13 @@ public class OutputBuffer extends Writer /** * Number of bytes written. */ - private int bytesWritten = 0; + private long bytesWritten = 0; /** * Number of chars written. */ - private int charsWritten = 0; + private long charsWritten = 0; /** @@ -539,22 +539,32 @@ public class OutputBuffer extends Writer } - public int getBytesWritten() { - return bytesWritten; + if (bytesWritten < Integer.MAX_VALUE) { + return (int) bytesWritten; + } + return -1; } - public int getCharsWritten() { - return charsWritten; + if (charsWritten < Integer.MAX_VALUE) { + return (int) charsWritten; + } + return -1; } - public int getContentWritten() { - return bytesWritten + charsWritten; + long size = bytesWritten + charsWritten ; + if (size < Integer.MAX_VALUE) { + return (int) size; + } + return -1; } - + public long getContentWrittenLong() { + return bytesWritten + charsWritten; + } + /** * True if this buffer hasn't been used ( since recycle() ) - * i.e. no chars or bytes have been added to the buffer. diff --git a/java/org/apache/catalina/connector/Response.java b/java/org/apache/catalina/connector/Response.java index 058c8c85a..e53b4dfea 100644 --- a/java/org/apache/catalina/connector/Response.java +++ b/java/org/apache/catalina/connector/Response.java @@ -305,7 +305,13 @@ public class Response public int getContentCount() { return outputBuffer.getContentWritten(); } - + + /** + * Return the number of bytes actually written to the output stream. + */ + public long getContentCountLong() { + return outputBuffer.getContentWrittenLong(); + } /** * Set the application commit flag.