Commit Graph
6 Commits
Author SHA1 Message Date
JJenkxandClaude Opus 5.5 20e06ec7be fix(libc): report wcstombs_s and wcsrtombs_s violations as titles' libc.prx does
The libc.prx that titles ship (PPSA07923, PPSA05916) treats a size or
limit above SIZE_MAX >> 3 as a bad argument and calls the constraint
handler with EINVAL or ERANGE and a null pointer for each violation:
"wcsrtombs_s: bad argument" or "wcstombs_s: bad argument", and for a
buffer that is too small "wcstombs_s: buffer too small" from
wcsrtombs_s and "wcstombs_s: buffer overflow" from wcstombs_s. main
only returned the error and accepted sizes and limits up to 2^63.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 18:09:10 -04:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
hypermist 04dc63a353 Merge remote-tracking branch 'upstream/main' into fix/libc-utf8-multibyte
# Conflicts:
#	core/libs/prx/libc/src/Multibyte.cpp
2026-10-21 16:20:33 +13:00
hypermistandClaude Opus 5.5 906f18f609 fix(libc): convert multibyte text as UTF-8 like the console's C locale
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 02:51:59 +13:00
Sam ab8cb4f9ad feat(libc): export wcstombs_s
libc.prx did not export wcstombs_s (sZLrjx-yEx4); only libSceAmpr did.
Ghost of Yotei imports it from libc.prx and stops at symbol resolution.

Move the implementation to libc next to wcsrtombs_s. libSceAmpr keeps
its export through an explicit-NID wrapper, because the NID patcher
leaves symbols that libc exports unrenamed in other libraries.
2026-10-20 14:12:11 +02:00
Adrià FranchandClaude 55f548d6bc feat(libc): implement wcsrtombs_s
Co-Authored-By: Claude <[email protected]>
2026-10-05 20:29:18 +02:00