From 44e5c052b3f4fdc352790aee982217a83f9449ef Mon Sep 17 00:00:00 2001
From: Thomas Mueller <thomas.mueller@tmit.eu>
Date: Mon, 14 Jan 2013 23:39:31 +0100
Subject: [PATCH] handling proper display of files/folders with negative size
 refs #1162

---
 lib/helper.php   |  4 ++++
 lib/template.php | 20 +++++++++++++++-----
 2 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/lib/helper.php b/lib/helper.php
index e7c9ac8015..7f34d89582 100644
--- a/lib/helper.php
+++ b/lib/helper.php
@@ -223,6 +223,10 @@ class OC_Helper {
 	 * Makes 2048 to 2 kB.
 	 */
 	public static function humanFileSize( $bytes ) {
+		if( $bytes < 0 ) {
+			$l = OC_L10N::get('lib');
+			return $l->t("couldn't be determined");
+		}
 		if( $bytes < 1024 ) {
 			return "$bytes B";
 		}
diff --git a/lib/template.php b/lib/template.php
index 04667d73a2..f10a637346 100644
--- a/lib/template.php
+++ b/lib/template.php
@@ -85,11 +85,21 @@ function human_file_size( $bytes ) {
 }
 
 function simple_file_size($bytes) {
-	$mbytes = round($bytes/(1024*1024), 1);
-	if($bytes == 0) { return '0'; }
-	else if($mbytes < 0.1) { return '&lt; 0.1'; }
-	else if($mbytes > 1000) { return '&gt; 1000'; }
-	else { return number_format($mbytes, 1); }
+	if ($bytes < 0) {
+		return '?';
+	}
+	$mbytes = round($bytes / (1024 * 1024), 1);
+	if ($bytes == 0) {
+		return '0';
+	}
+	if ($mbytes < 0.1) {
+		return '&lt; 0.1';
+	}
+	if ($mbytes > 1000) {
+		return '&gt; 1000';
+	} else {
+		return number_format($mbytes, 1);
+	}
 }
 
 function relative_modified_date($timestamp) {
-- 
GitLab