mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-06 13:30:00 +00:00
Open.cpp passed host errno values 1 to 34 through and turned every other one into EIO. On Linux, ENAMETOOLONG (36) and ELOOP (40) are above that range, so sceKernelOpen and sceKernelUnlink returned EIO for a name longer than 255 bytes or a symbolic link loop, where FreeBSD returns ENAMETOOLONG (63) and ELOOP (62). sceKernelStat returned ENOENT for both. sceKernelMkdir already reported them through the mapping in Stdio.cpp. Values above 34 now go through FilesystemError, the std::errc mapping that path resolution already uses. sceKernelStat returns ENAMETOOLONG and ELOOP when the status query fails with them. The POSIX open, unlink and stat wrappers set the same errno values. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>