Open jpcima opened 4 years ago
It will be wrong to simplify a path by elimination of foo/../ kind of patterns, in case foo is a symlink.
foo/../
foo
The directory part of path may be resolved by file system API:
realpath
GetFinalPathNameByHandleA
_WIN32_WINNT
HANDLE hDirectory = CreateFile( path, 0, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, nullptr, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, nullptr); GetFinalPathNameByHandleA( hDirectory, path, pathlen, VOLUME_NAME_DOS|FILE_NAME_NORMALIZED);
It will be wrong to simplify a path by elimination of
foo/../
kind of patterns, in casefoo
is a symlink.The directory part of path may be resolved by file system API:
realpath
GetFinalPathNameByHandleA
(_WIN32_WINNT
>= 0x0600)