Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8fabc4f

Browse files
committed
return false early from directory resource
1 parent f7ba71d commit 8fabc4f

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

src/Symfony/Component/Config/Resource/DirectoryResource.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,10 @@ public function isFresh($timestamp)
6868
return false;
6969
}
7070

71-
$newestMTime = filemtime($this->resource);
71+
if (filemtime($this->resource) > $timestamp) {
72+
return false;
73+
}
74+
7275
foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($this->resource), \RecursiveIteratorIterator::SELF_FIRST) as $file) {
7376
// if regex filtering is enabled only check matching files
7477
if ($this->pattern && $file->isFile() && !preg_match($this->pattern, $file->getBasename())) {
@@ -81,10 +84,13 @@ public function isFresh($timestamp)
8184
continue;
8285
}
8386

84-
$newestMTime = max($file->getMTime(), $newestMTime);
87+
// early return if a file's mtime exceeds the passed timestamp
88+
if ($file->getMTime() > $timestamp) {
89+
return false;
90+
}
8591
}
8692

87-
return $newestMTime < $timestamp;
93+
return true;
8894
}
8995

9096
public function serialize()

src/Symfony/Component/Config/Tests/Resource/DirectoryResourceTest.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,10 @@ public function testIsFreshNewFileWithDifferentPattern()
9696
public function testIsFreshDeleteFile()
9797
{
9898
$resource = new DirectoryResource($this->directory);
99+
$time = time();
100+
sleep(1);
99101
unlink($this->directory.'/tmp.xml');
100-
$this->assertFalse($resource->isFresh(time()), '->isFresh() returns false if an existing file is removed');
102+
$this->assertFalse($resource->isFresh($time), '->isFresh() returns false if an existing file is removed');
101103
}
102104

103105
public function testIsFreshDeleteDirectory()

0 commit comments

Comments
 (0)