Skip to content

Commit baad9a0

Browse files
[Cache] Remove exception false-positive from FilesystemAdapterTrait
1 parent 1b41319 commit baad9a0

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

Adapter/FilesystemAdapterTrait.php

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,26 +27,25 @@ private function init($namespace, $directory)
2727
{
2828
if (!isset($directory[0])) {
2929
$directory = sys_get_temp_dir().'/symfony-cache';
30+
} else {
31+
$directory = realpath($directory) ?: $directory;
3032
}
3133
if (isset($namespace[0])) {
3234
if (preg_match('#[^-+_.A-Za-z0-9]#', $namespace, $match)) {
3335
throw new InvalidArgumentException(sprintf('Namespace contains "%s" but only characters in [-+_.A-Za-z0-9] are allowed.', $match[0]));
3436
}
35-
$directory .= '/'.$namespace;
37+
$directory .= DIRECTORY_SEPARATOR.$namespace;
3638
}
37-
if (!file_exists($dir = $directory.'/.')) {
39+
if (!file_exists($directory)) {
3840
@mkdir($directory, 0777, true);
3941
}
40-
if (false === $dir = realpath($dir) ?: (file_exists($dir) ? $dir : false)) {
41-
throw new InvalidArgumentException(sprintf('Cache directory does not exist (%s)', $directory));
42-
}
43-
$dir .= DIRECTORY_SEPARATOR;
42+
$directory .= DIRECTORY_SEPARATOR;
4443
// On Windows the whole path is limited to 258 chars
45-
if ('\\' === DIRECTORY_SEPARATOR && strlen($dir) > 234) {
44+
if ('\\' === DIRECTORY_SEPARATOR && strlen($directory) > 234) {
4645
throw new InvalidArgumentException(sprintf('Cache directory too long (%s)', $directory));
4746
}
4847

49-
$this->directory = $dir;
48+
$this->directory = $directory;
5049
}
5150

5251
/**

0 commit comments

Comments
 (0)