TPath.IsPathRooted fails with absolute paths on Linux
## Summary TPath.IsPathRooted is using PathSeparator instead of PathDelim. https://gitlab.com/freepascal.org/fpc/source/-/blob/main/packages/vcl-compat/src/system.ioutils.pp#L1539 ## System Information - **Operating system:** Linux Ubuntu 24.04 - **Processor architecture:** x86-64 - **Compiler version:** branch main - **Device:** Computer ## Steps to reproduce TPath.IsPathRooted('/mnt/disk-01'); ## What is the current bug behavior? Returns false for absolute paths. ## What is the expected (correct) behavior? Returns true. ## Relevant logs and/or screenshots ``` // Current code class function TPath.IsPathRooted(const aPath: string): Boolean; begin Result:=aPath.StartsWith(PathSeparator) or TPath.IsDriveRooted(aPath); end; ``` ## Possible fixes ``` // Suggested fix class function TPath.IsPathRooted(const aPath: string): Boolean; begin Result:=aPath.StartsWith(PathDelim) or TPath.IsDriveRooted(aPath); end; ```
issue