diff options
author | Côme Chilliet <91878298+come-nc@users.noreply.github.com> | 2023-05-15 17:05:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-15 17:05:46 +0200 |
commit | 8362eea14e3cf6700ccc50778a802a3f47a5e080 (patch) | |
tree | 422ae12eea82b1e7e40b5027f3a213bd18aafedd | |
parent | b9026acf3ffbf8f7ea060761b09bb8ec8b10e62f (diff) | |
parent | ae525e1935826d37ffbd18f4ece594ef64e5a125 (diff) | |
download | nextcloud-server-8362eea14e3cf6700ccc50778a802a3f47a5e080.tar.gz nextcloud-server-8362eea14e3cf6700ccc50778a802a3f47a5e080.zip |
Merge pull request #38196 from nextcloud/fix/fix-32bits-freespace-and-sizes
Get rid of more int casts in file size manipulations
-rw-r--r-- | lib/private/Files/Cache/Cache.php | 15 | ||||
-rw-r--r-- | lib/private/Files/Cache/HomeCache.php | 2 | ||||
-rw-r--r-- | lib/private/Files/Cache/Scanner.php | 2 | ||||
-rw-r--r-- | lib/private/Files/Cache/Wrapper/CacheJail.php | 2 | ||||
-rw-r--r-- | lib/private/Files/Cache/Wrapper/CacheWrapper.php | 2 | ||||
-rw-r--r-- | lib/private/Files/Storage/DAV.php | 5 | ||||
-rw-r--r-- | lib/private/Files/Storage/Local.php | 3 |
7 files changed, 17 insertions, 14 deletions
diff --git a/lib/private/Files/Cache/Cache.php b/lib/private/Files/Cache/Cache.php index 933fee5630f..8fe413a0206 100644 --- a/lib/private/Files/Cache/Cache.php +++ b/lib/private/Files/Cache/Cache.php @@ -60,6 +60,7 @@ use OCP\Files\Search\ISearchOperator; use OCP\Files\Search\ISearchQuery; use OCP\Files\Storage\IStorage; use OCP\IDBConnection; +use OCP\Util; use Psr\Log\LoggerInterface; /** @@ -191,8 +192,8 @@ class Cache implements ICache { $data['path'] = (string)$data['path']; $data['fileid'] = (int)$data['fileid']; $data['parent'] = (int)$data['parent']; - $data['size'] = 0 + $data['size']; - $data['unencrypted_size'] = 0 + ($data['unencrypted_size'] ?? 0); + $data['size'] = Util::numericToNumber($data['size']); + $data['unencrypted_size'] = Util::numericToNumber($data['unencrypted_size'] ?? 0); $data['mtime'] = (int)$data['mtime']; $data['storage_mtime'] = (int)$data['storage_mtime']; $data['encryptedVersion'] = (int)$data['encrypted']; @@ -900,7 +901,7 @@ class Cache implements ICache { * * @param string $path * @param array|null|ICacheEntry $entry (optional) meta data of the folder - * @return int + * @return int|float */ public function calculateFolderSize($path, $entry = null) { return $this->calculateFolderSizeInner($path, $entry); @@ -913,7 +914,7 @@ class Cache implements ICache { * @param string $path * @param array|null|ICacheEntry $entry (optional) meta data of the folder * @param bool $ignoreUnknown don't mark the folder size as unknown if any of it's children are unknown - * @return int + * @return int|float */ protected function calculateFolderSizeInner(string $path, $entry = null, bool $ignoreUnknown = false) { $totalSize = 0; @@ -937,13 +938,13 @@ class Cache implements ICache { if ($rows) { $sizes = array_map(function (array $row) { - return (int)$row['size']; + return Util::numericToNumber($row['size']); }, $rows); $unencryptedOnlySizes = array_map(function (array $row) { - return (int)$row['unencrypted_size']; + return Util::numericToNumber($row['unencrypted_size']); }, $rows); $unencryptedSizes = array_map(function (array $row) { - return (int)(($row['unencrypted_size'] > 0) ? $row['unencrypted_size'] : $row['size']); + return Util::numericToNumber(($row['unencrypted_size'] > 0) ? $row['unencrypted_size'] : $row['size']); }, $rows); $sum = array_sum($sizes); diff --git a/lib/private/Files/Cache/HomeCache.php b/lib/private/Files/Cache/HomeCache.php index 9dbbb46c57b..83e5cb89b8a 100644 --- a/lib/private/Files/Cache/HomeCache.php +++ b/lib/private/Files/Cache/HomeCache.php @@ -36,7 +36,7 @@ class HomeCache extends Cache { * * @param string $path * @param array|null|ICacheEntry $entry (optional) meta data of the folder - * @return int + * @return int|float */ public function calculateFolderSize($path, $entry = null) { if ($path !== '/' and $path !== '' and $path !== 'files' and $path !== 'files_trashbin' and $path !== 'files_versions') { diff --git a/lib/private/Files/Cache/Scanner.php b/lib/private/Files/Cache/Scanner.php index e3a08264716..81a7779c846 100644 --- a/lib/private/Files/Cache/Scanner.php +++ b/lib/private/Files/Cache/Scanner.php @@ -386,7 +386,7 @@ class Scanner extends BasicEmitter implements IScanner { * @param int $folderId id for the folder to be scanned * @param bool $lock set to false to disable getting an additional read lock during scanning * @param array $data the data of the folder before (re)scanning the children - * @return int the size of the scanned folder or -1 if the size is unknown at this stage + * @return int|float the size of the scanned folder or -1 if the size is unknown at this stage */ protected function scanChildren($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $folderId = null, $lock = true, array $data = []) { if ($reuse === -1) { diff --git a/lib/private/Files/Cache/Wrapper/CacheJail.php b/lib/private/Files/Cache/Wrapper/CacheJail.php index a5075ceef86..c4446473833 100644 --- a/lib/private/Files/Cache/Wrapper/CacheJail.php +++ b/lib/private/Files/Cache/Wrapper/CacheJail.php @@ -240,7 +240,7 @@ class CacheJail extends CacheWrapper { * * @param string $path * @param array|null|ICacheEntry $entry (optional) meta data of the folder - * @return int + * @return int|float */ public function calculateFolderSize($path, $entry = null) { if ($this->getCache() instanceof Cache) { diff --git a/lib/private/Files/Cache/Wrapper/CacheWrapper.php b/lib/private/Files/Cache/Wrapper/CacheWrapper.php index c1043fbc6fb..6479ea793b0 100644 --- a/lib/private/Files/Cache/Wrapper/CacheWrapper.php +++ b/lib/private/Files/Cache/Wrapper/CacheWrapper.php @@ -250,7 +250,7 @@ class CacheWrapper extends Cache { * * @param string $path * @param array|null|ICacheEntry $entry (optional) meta data of the folder - * @return int + * @return int|float */ public function calculateFolderSize($path, $entry = null) { if ($this->getCache() instanceof Cache) { diff --git a/lib/private/Files/Storage/DAV.php b/lib/private/Files/Storage/DAV.php index b332f3b7c4a..a791db651c3 100644 --- a/lib/private/Files/Storage/DAV.php +++ b/lib/private/Files/Storage/DAV.php @@ -51,6 +51,7 @@ use OCP\Files\StorageInvalidException; use OCP\Files\StorageNotAvailableException; use OCP\Http\Client\IClientService; use OCP\ICertificateManager; +use OCP\Util; use Psr\Http\Message\ResponseInterface; use Sabre\DAV\Client; use Sabre\DAV\Xml\Property\ResourceType; @@ -451,7 +452,7 @@ class DAV extends Common { return FileInfo::SPACE_UNKNOWN; } if (isset($response['{DAV:}quota-available-bytes'])) { - return (int)$response['{DAV:}quota-available-bytes']; + return Util::numericToNumber($response['{DAV:}quota-available-bytes']); } else { return FileInfo::SPACE_UNKNOWN; } @@ -605,7 +606,7 @@ class DAV extends Common { } return [ 'mtime' => isset($response['{DAV:}getlastmodified']) ? strtotime($response['{DAV:}getlastmodified']) : null, - 'size' => (int)($response['{DAV:}getcontentlength'] ?? 0), + 'size' => Util::numericToNumber($response['{DAV:}getcontentlength'] ?? 0), ]; } catch (\Exception $e) { $this->convertException($e, $path); diff --git a/lib/private/Files/Storage/Local.php b/lib/private/Files/Storage/Local.php index ee86fe356f7..3b292506578 100644 --- a/lib/private/Files/Storage/Local.php +++ b/lib/private/Files/Storage/Local.php @@ -52,6 +52,7 @@ use OCP\Files\GenericFileException; use OCP\Files\IMimeTypeDetector; use OCP\Files\Storage\IStorage; use OCP\IConfig; +use OCP\Util; use Psr\Log\LoggerInterface; /** @@ -422,7 +423,7 @@ class Local extends \OC\Files\Storage\Common { if ($space === false || is_null($space)) { return \OCP\Files\FileInfo::SPACE_UNKNOWN; } - return (int)$space; + return Util::numericToNumber($space); } public function search($query) { |