Commit Graph
34 Commits
Author SHA1 Message Date
FabrikonManufacturing 5737a6412a docs(libSceIcu): reconcile remaining stub count 2026-10-31 11:53:24 +01:00
FabrikonManufacturing f55c4aeef6 docs(libSceIcu): record resource type verification limits 2026-10-31 11:53:24 +01:00
Adrià cff2a0ff46 Merge pull request #13611 from kyon-eth/feat/icu-320-legacy-bulk
feat(libSceIcu): declare older callable exports
2026-10-31 10:18:29 +01:00
Kyon ab1bfa5e12 docs(libSceIcu): place dispatch debt independently 2026-10-30 21:53:57 +00:00
Kyon b216cba5d4 refactor(libSceIcu): keep dispatch additions separate 2026-10-30 21:53:57 +00:00
Kyon 2b046f78a2 docs(libSceIcu): record cross-version dispatch evidence 2026-10-30 21:53:50 +00:00
Kyon 59fcdeb16a feat(libSceIcu): declare 4 callable exports 2026-10-30 21:53:50 +00:00
KernelPanicNT f01d777388 feat(libSceIcu): implement u_strCompareIter and u_getUnicodeVersion
u_strCompareIter compares two UCharIterator texts in code unit or code
point order as ICU 78.1's ustring.cpp does, driving the guest iterators
through their move, next, current and previous callbacks in ICU's order.
u_getUnicodeVersion reports Unicode 17.0, the data version of ICU 78.1.

A null callback that ICU would call throws std::invalid_argument, and the
final difference wraps instead of overflowing. The debt entry records
that neither export was compared with a console.
2026-10-30 21:59:42 +01:00
Kyon 2556673fc2 refactor(libSceIcu): isolate legacy export source 2026-10-30 19:30:58 +00:00
Kyon d63a144913 refactor(libSceIcu): isolate legacy declarations 2026-10-30 19:30:24 +00:00
Kyon 0d7d5f1a3b feat(libSceIcu): declare older callable exports 2026-10-30 19:28:29 +00:00
DariusandClaude Opus 5.5 c0c37be81f fix(libSceIcu): leave u_getUnicodeVersion and u_strCompareIter to #13457
Restore the two placeholders that #13457 implements, so the two pull
requests no longer change the same exports.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 20:11:46 +02:00
CodingBreaddandClaude Opus 5.5 c538dc458b feat(libSceIcu): name 76 unknown exports from their NIDs
Each sceIcuUnknown stub whose NID equals the nid_names.py hash of an
ICU 78.1 C API identifier now carries that name. The exports still
throw through NotImplemented_nid_no_patch and keep the no-parameter
import-resolution convention; the patched library exports the same
NIDs.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 15:54:48 +02:00
Adrià de2ba4cecb Merge pull request #12693 from Ninot1Quyi/feat/icu-utf8-helpers
feat(libSceIcu): implement UTF-8 macro helpers
2026-10-30 13:05:37 +01:00
HorizonCoding 9fbbde662f fix(libSceIcu): copy all ASCII units in u_austrcpy and u_austrncpy 2026-10-30 04:06:38 +02:00
HorizonCoding 004051698d feat(libSceIcu): implement u_austrcpy and u_austrncpy 2026-10-30 04:06:38 +02:00
Qu Yi d5b612cae2 fix(icu): resolve main integration conflicts for #12693 2026-10-29 22:34:15 +08:00
Qu Yi 207ac4b5ec fix(icu): resolve main integration conflicts for #12692 2026-10-29 22:34:09 +08:00
Dean f81c7a765c Merge pull request #12630 from Lindamea1/feat/icu-space-classifiers
feat(libSceIcu): implement u_isspace, u_isblank, u_isWhitespace, u_isJavaSpaceChar and u_isUWhiteSpace
2026-10-30 02:26:13 +13:00
Qu Yi 93c4ab11a5 chore(libSceIcu): merge main and resolve debt conflict 2026-10-29 18:56:12 +08:00
Qu Yi bb143b3f5c feat(libSceIcu): implement UTF-8 macro helpers 2026-10-29 10:32:12 +08:00
Qu Yi 63529b3c6d feat(libSceIcu): implement converter stop and skip callbacks 2026-10-29 10:31:44 +08:00
Lindamea1andClaude Opus 5.5 f70f9e34f3 feat(libSceIcu): implement u_isspace, u_isblank, u_isWhitespace, u_isJavaSpaceChar and u_isUWhiteSpace
Replace the five Unknown stubs whose NIDs hash these ICU names with the
uchar.cpp definitions of ICU 78.1 (049e0d6a), over the Zs, Zl, Zp and
White_Space code points that ICU 65.1 to 78.1 ship. Values outside
U+0000..U+10FFFF return 0, as ICU's trie error value gives.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 23:16:30 +00:00
simnJS 07883249e6 fix(libSceIcu): follow ICU for null escape inputs and negative u_unescape capacities
ICU 78.1's u_unescapeAt dereferences the offset and calls the callback without checks, and u_unescape reads the source without one, so a null one faults: throw std::invalid_argument there instead of NotImplemented_nid_no_patch. A negative u_unescape capacity is clamped by _appendUChars and fails every room check, so nothing is written and the full length is returned; only a capacity whose signed difference with the output length overflows, which ICU leaves undefined, still throws.
2026-10-28 15:01:08 +01:00
Qu Yi 475484a00f feat(libSceIcu): implement C string conversion helpers 2026-10-28 15:52:57 +08:00
Dean 1dcfe03875 Merge pull request #11760 from oneandonlydean/salvage/icu-9444
feat(libSceIcu): declare 112 PS5 3.20 exports
2026-10-28 12:08:55 +13:00
Dean Galvin f407d1bd2b fix(libSceIcu): drop the stubs open PRs implement
Remove the 36 stubs whose NIDs open PRs #10962-#10967, #11115, #11118, #11122, #11132 and #11136 add to libSceIcu, leaving 112.
2026-10-27 20:32:39 +13:00
Dean Galvin e78f746c20 fix(libSceIcu): drop the two exports main already has 2026-10-27 19:57:19 +13:00
xdCloudy 458a997895 docs: distinguish known exports from unverified ABI 2026-10-27 19:57:19 +13:00
xdCloudy 2e2e6f2775 feat(libSceIcu): declare 150 PS5 3.20 exports 2026-10-27 19:57:19 +13:00
AZLisme 844e39236f docs(libSceIcu): record escape export firmware evidence 2026-10-27 00:48:52 +08:00
AZLisme c63d98b6f1 feat(libSceIcu): implement escape decoding 2026-10-27 00:48:22 +08:00
mantavisualandClaude Opus 5.5 37d5137ea0 docs(libSceIcu): record the ICU version firmware 13.42 reports
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:28:38 +02:00
mantavisualandClaude Opus 5.5 0fd2e0ce9f feat(libSceIcu): implement the invariant character and version helpers
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 16:09:56 +02:00