mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-07 13:39:55 +00:00
A guest that reopens `stdin`, `stdout` or `stderr` onto a directory in a read mode threw instead of returning the stream, while the console answers that a directory opens in a read mode and the debt entry already recorded the throw as the Windows difference. The standard stream now goes through the same descriptor move a regular file uses: the directory descriptor is opened, moved onto the standard descriptor, and libkernel's directory entry follows it, so `fstat` of the guest descriptor reports a directory and the first read answers `EISDIR` with the error indicator set, like every other directory stream. A failed open restores the previous standard target. `guest_freopen_host_standard` reopens `stdout` onto a directory, asserts `S_IFDIR` on the guest descriptor, asserts the first read answers `EISDIR`, then reopens the same stream on a file path and writes through it.