HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //proc/self/root/opt/cpanel/ea-wappspector/vendor/rector/rector/src/Skipper/RealpathMatcher.php
<?php

declare (strict_types=1);
namespace Rector\Skipper;

use Rector\Skipper\FileSystem\PathNormalizer;
final class RealpathMatcher
{
    public function match(string $matchingPath, string $filePath) : bool
    {
        /** @var string|false $realPathMatchingPath */
        $realPathMatchingPath = \realpath($matchingPath);
        if ($realPathMatchingPath === \false) {
            return \false;
        }
        /** @var string|false $realpathFilePath */
        $realpathFilePath = \realpath($filePath);
        if ($realpathFilePath === \false) {
            return \false;
        }
        $normalizedMatchingPath = PathNormalizer::normalize($realPathMatchingPath);
        $normalizedFilePath = PathNormalizer::normalize($realpathFilePath);
        // skip define direct path
        if (\is_file($normalizedMatchingPath)) {
            return $normalizedMatchingPath === $normalizedFilePath;
        }
        // ensure add / suffix to ensure no same prefix directory
        if (\is_dir($normalizedMatchingPath)) {
            $normalizedMatchingPath = \rtrim($normalizedMatchingPath, '/') . '/';
        }
        return \strncmp($normalizedFilePath, $normalizedMatchingPath, \strlen($normalizedMatchingPath)) === 0;
    }
}