Default to reusing etags in the scanner
*/
public function scan($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1) {
if ($reuse === -1) {
- $reuse = ($recursive === self::SCAN_SHALLOW) ? self::REUSE_ETAG | self::REUSE_SIZE : 0;
+ $reuse = ($recursive === self::SCAN_SHALLOW) ? self::REUSE_ETAG | self::REUSE_SIZE : self::REUSE_ETAG;
}
$data = $this->scanFile($path, $reuse);
- $size = $this->scanChildren($path, $recursive, $reuse);
- $data['size'] = $size;
+ if ($data !== null) {
+ $size = $this->scanChildren($path, $recursive, $reuse);
+ $data['size'] = $size;
+ }
return $data;
}