mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-05 13:20:11 +00:00
The Linux path mapped ENOTDIR from getdents64 to EINVAL, but a pipe or FIFO still failed with ESPIPE from the lseek that reads the base offset first. FreeBSD 11.4's kern_getdirentries returns EINVAL for any descriptor that is not a directory vnode, pipes included, and EBADF for one that is not open. Check the descriptor with fstat before the lseek: EBADF and other host errors are passed through, and anything that is not a directory returns EINVAL. The getdents64 error line is unchanged again, and the technical debt entry is removed since no difference is left. Written with AI assistance (Claude). Co-Authored-By: Claude Opus 5.5 <[email protected]>