You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2012/04/16 21:34:53 UTC
svn commit: r1326766 -
/commons/proper/io/trunk/src/main/java/org/apache/commons/io/FileUtils.java
Author: ggregory
Date: Mon Apr 16 19:34:53 2012
New Revision: 1326766
URL: http://svn.apache.org/viewvc?rev=1326766&view=rev
Log:
IO-319 document behavior with size > long and stop counting when long is < 0.
Modified:
commons/proper/io/trunk/src/main/java/org/apache/commons/io/FileUtils.java
Modified: commons/proper/io/trunk/src/main/java/org/apache/commons/io/FileUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/main/java/org/apache/commons/io/FileUtils.java?rev=1326766&r1=1326765&r2=1326766&view=diff
==============================================================================
--- commons/proper/io/trunk/src/main/java/org/apache/commons/io/FileUtils.java (original)
+++ commons/proper/io/trunk/src/main/java/org/apache/commons/io/FileUtils.java Mon Apr 16 19:34:53 2012
@@ -2353,10 +2353,13 @@ public class FileUtils {
/**
* Counts the size of a directory recursively (sum of the length of all files).
- *
- * @param directory directory to inspect, must not be {@code null}
- * @return size of directory in bytes, 0 if directory is security restricted
- * @throws NullPointerException if the directory is {@code null}
+ *
+ * @param directory
+ * directory to inspect, must not be {@code null}
+ * @return size of directory in bytes, 0 if directory is security restricted, a negative number when the real total
+ * is greater than {@link Long#MAX_VALUE}.
+ * @throws NullPointerException
+ * if the directory is {@code null}
*/
public static long sizeOfDirectory(File directory) {
if (!directory.exists()) {
@@ -2377,6 +2380,9 @@ public class FileUtils {
try {
if (!isSymlink(file)) {
size += sizeOf(file);
+ if (size < 0) {
+ break;
+ }
}
} catch (IOException ioe) {
// Ignore exceptions caught when asking if a File is a symlink.