AnyPS5/core
Scott Schuster 8bba489932 fix(libc): parse fopen and freopen modes as FreeBSD does
FreeBSD's __sflags reads the access character, then b, +, x, e and v, and
stops at the first other character without failing, so "rt" opens for
reading. On Windows fopen inserted b after the first character and passed
the rest on, so "rt" became "rbt", the CRT rejected it with EINVAL, and
fopen threw. vkQuake opens history.txt with "rt" at startup. freopen
accepted only a fixed list of modes.

Both now parse the mode like __sflags. An unknown access character, or x
on a read-only stream, returns NULL with EINVAL; x on an existing file
returns NULL with EEXIST; e and v are accepted and ignored.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 00:48:13 -05:00
..
Decoder feat(jpegenc): honor the encode restart interval 2026-10-06 14:16:07 +02:00
libs fix(libc): parse fopen and freopen modes as FreeBSD does 2026-10-10 00:48:13 -05:00
relinker Merge pull request #1552 from arvindfroi/test/decoder-length-table 2026-10-10 18:36:17 +13:00
shader/recompiler fix(shader): read lane 63 of a wave64 v_max_f32/v_min_f32 half-wave scan 2026-10-10 18:20:06 +13:00