mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-28 00:35:47 +00:00
22 KiB
22 KiB
libSceJson2 technical debt
Unknown function info
- JSON real-number conversion (libSceJson2) uses locale-independent
to_charswith 17 significant digits andfrom_chars, following JSON's decimal-point grammar in RFC 8259 section 6. Out-of-range input falls back to a classic-locale stream so underflow retains the prior signed-zero behavior and overflow throws. Console rounding and formatting are unverified. - sce::Json::Array::pop_front (libSceJson2) - removes and destroys the first element; on an empty array it throws
std::out_of_range, asfrontandbackdo here. The console's result for an empty array is unverified. - sce::Json::Parser::parse (libSceJson2) - a null text pointer with nonzero size throws instead of being dereferenced. A number that overflows a double (e.g.
1e309) throws: whether the console rejects the document or stores an infinite real is unknown. Syntax validation for number tokens and destination state after a failed parse still differ from the system parser - sce::Json::InitParameter2, InitParameterRtti and InitParameterRtti2 (libSceJson2) - RTTI allocator adaptation and the
InitParameterRttilayout remain unverified.setAllocatorRttistores the raw allocation-parameter pointer as the allocator;initializeignores allocator, buffer-size and special-float settings. Special-float enum meanings and parser support for non-finite numbers remain unresolved; serialization of non-finite values throws. Setter return types remain unverified. - sce::Json::Object::Pair, sce::Json::Array::iterator and sce::Json::Object::iterator members (libSceJson2) - the signatures follow the mangled names, with
Array::iterator::operator++(int)andObject::iterator::operator++(int)returning their copy through a result pointer beforethisasbegindoes, since the iterators have non-trivial destructors.Pair(const String&, const Value&)and defaultPair()deep-copy or initialize into the layoutObjectiteration already hands out (key at 0, value at 0x10) and zeroes the 8 bytes between them; what the console keeps there is unknown. - sce::Json::Value::setTypeMismatchHandler, setElementAccessFailureHandler and setSpecialFloatHandler (libSceJson2) - members of
Valuethat return an int, inferred from a caller that registers them on its rootValuebefore parsing into it, with the handler and its context, and accepts 0 or 0x80848104 as success; they return 0. The PS Vita library'sValue::setNullAccessCallbackis such a member too (vitasdk). The handler signatures follow the mangled names. A handler applies to theValueit is set on and to the values thatValueholds then, andParser::parsegives the values it creates the handlers of theValueit parses into, since the title reads the errors its handlers record after accessing parsed members; copies,push_backandObject::operator[]do not carry them, and how the console finds the handler of an accessed value is unknown. A typed getter on a non-null value of another type calls the type mismatch handler with the requested type, the value, null and the context, and returns the value the handler returns if it has the requested type, else the getter's default; passing null as the third handler argument (the secondValuepointer), and the order of the twoValuepointers, remain unverified against the console. The element access failure handler is not called: a failedoperator[]orgetValueon a value carrying it throws, as the error code the console passes, which the title records as its error, is unknown; without one the access still reaches the null-access callback. The special float handler is not called: serializing a non-finite real throws with or without it, as theFunctionTypevalues and thebool*output are unknown, and the title's handler returns a different replacement for each of its two types - sce::Json::MemAllocator::notifyError (libSceJson2) - the base class's virtual does nothing. A title's allocator that does not override it calls it through its own vtable; the library never calls the title's allocator, so it never reports an allocation failure. Whether the console's base implementation logs anything is unknown
- sce::Json::String size, capacity, resize, append(const char*, size_t), operator+= (libSceJson2) - storage uses
std::string; capacity and allocation growth do not match the system 32-bit capacity and allocator settings. Appending null text with a nonzero length throws instead of dereferencing it. - sce::Json::String at, find and rfind (libSceJson2) - the return types follow the PS Vita library's
String(vitasdk) and the search followsstd::string.atpast the end and a null text orStringthrow; what the console returns or does there is unverified. - sce::Json::Array::iterator::advance and Object::iterator members (libSceJson2) - the return type of
advanceremains unverified. Object iterator advancement past the end throws instead of asserting. Dereferencing an empty array iterator throws instead of returning the system null-value pointer or an invalid address. - sce::Json::Value::operator bool (libSceJson2) - callback dispatch before conversion is not implemented. The system library invokes the applicable type mismatch handler before converting a non-boolean value, with SDK-dependent global callback handling.
Unknown 3.20 import declarations
- ZN3sce4Json11Initializer24setAllocatorInfoCallBackEPFviNS0_9ValueTypeEPvES3 (libSceJson2) - NID
R996H0YIhiQfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - ZN3sce4Json11Initializer28setGlobalSpecialFloatHandlerEPFKNS0_5ValueENS0_12FunctionTypeEdPS3_PvPbES6 (libSceJson2) - NID
i1393UBWu1Ufrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - ZN3sce4Json11Initializer28setGlobalTypeMismatchHandlerEPFRKNS0_5ValueENS0_9ValueTypeEPS3_S6_PvES7 (libSceJson2) - NID
tck9g-yOqPgfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - ZN3sce4Json11Initializer36setGlobalElementAccessFailureHandlerEPFviPKNS0_6StringEPKmPKNS0_5ValueES9_PvESA (libSceJson2) - NID
j8Q7SBgMm28from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json11InitializerC2Ev (libSceJson2) - NID
6qFqND4iwPAfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json11InitializerD2Ev (libSceJson2) - NID
qQZGdYkEytkfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json12MemAllocatorD0Ev (libSceJson2) - NID
ypazoTrKYhEfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json12MemAllocatorD1Ev (libSceJson2) - NID
O1uwoqazS2Afrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json17InitParameterRttiC2EPNS0_14AllocParamRttiEPvm (libSceJson2) - NID
Mp8DPb3M4I0from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json19InternalInitializer19terminate_staticlibEv (libSceJson2) - NID
dvp2zGSQzMsfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json19InternalInitializer20initialize_staticlibEPKNS0_13InitParameterENS1_10InitOptionE (libSceJson2) - NID
BPSPc3pUMJofrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json19InternalInitializerC1Ev (libSceJson2) - NID
WntRKhYTmZwfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json19InternalInitializerC2Ev (libSceJson2) - NID
2n+fxNdSZfsfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json19InternalInitializerD1Ev (libSceJson2) - NID
yudT4-bglkofrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json19InternalInitializerD2Ev (libSceJson2) - NID
caP-y4fH-zQfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json4FreeEPv (libSceJson2) - NID
bnk+edDbqMkfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5Array10push_frontERKNS0_5ValueE (libSceJson2) - NID
MQxDxBzWz40from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5Array5eraseERKNS1_8iteratorE (libSceJson2) - NID
2mbVAtshWRIfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5Array6insertERKNS1_8iteratorERKNS0_5ValueE (libSceJson2) - NID
ixJAz92H1uEfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - ZN3sce4Json5Array8iteratorC2ERKS2 (libSceJson2) - NID
Hdc3DSIsG2Ifrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5Array8iteratorC2Ev (libSceJson2) - NID
JSg1MSo7NKEfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5Array8iteratorD2Ev (libSceJson2) - NID
9niNrXsF3Bcfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5Array8pop_backEv (libSceJson2) - NID
woec1toi4Xwfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5Array9pop_frontEv (libSceJson2) - NID
pPs3qZTZQvQfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - ZN3sce4Json5ArrayC2ERKS1 (libSceJson2) - NID
6NlbpyIfUuYfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5ArrayC2Ev (libSceJson2) - NID
t6AHhkWu4mYfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5ArrayD2Ev (libSceJson2) - NID
MIyMPw7YTGMfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5Value11referStringEv (libSceJson2) - NID
m5J28iw-QPsfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5Value12referBooleanEv (libSceJson2) - NID
QxjfcfBhEdcfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5Value12referIntegerEv (libSceJson2) - NID
R0ac5QOdlpofrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5Value13referUIntegerEv (libSceJson2) - NID
Nx5tez4siL4from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5Value9referRealEv (libSceJson2) - NID
t7UEJrhojhkfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - ZN3sce4Json5Value9serializeEPFiRNS0_6StringEPvES4 (libSceJson2) - NID
PyMbL9F2oBYfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - ZN3sce4Json5Value9serializeERNS0_6StringEPFiS3_PvES4 (libSceJson2) - NID
l1URiQJlSoUfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5ValueC2ENS0_9ValueTypeE (libSceJson2) - NID
PWm9MyJJVqUfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5ValueC2EPKc (libSceJson2) - NID
+hHa4QYtLY8from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5ValueC2ERKNS0_5ArrayE (libSceJson2) - NID
VH9dsKpQTmkfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5ValueC2ERKNS0_6ObjectE (libSceJson2) - NID
JXlrCLLCLmcfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5ValueC2ERKNS0_6StringE (libSceJson2) - NID
veNviXt6wC0from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - ZN3sce4Json5ValueC2ERKS1 (libSceJson2) - NID
TZyuFeGuw9Yfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5ValueC2Eb (libSceJson2) - NID
OK4Ot0ue7J0from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5ValueC2Ed (libSceJson2) - NID
23nm4oXHlfIfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5ValueC2El (libSceJson2) - NID
EjxUpzR2Yx8from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5ValueC2Em (libSceJson2) - NID
cqucBPSeVDAfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5ValueC2Ev (libSceJson2) - NID
-wa17B7TGnwfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json5ValueD2Ev (libSceJson2) - NID
0eUrW9JAxM0from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json6MallocEm (libSceJson2) - NID
Xzy0onDzSAcfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json6Object4PairC2ERKNS0_6StringERKNS0_5ValueE (libSceJson2) - NID
lt3J4dPvEtMfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json6Object4PairC2Ev (libSceJson2) - NID
Wu-urs6MMpQfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json6Object4PairD2Ev (libSceJson2) - NID
TM0Sj+Ebinsfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - ZN3sce4Json6Object8iteratorC2ERKS2 (libSceJson2) - NID
r5CShmcua+Mfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json6Object8iteratorC2Ev (libSceJson2) - NID
OxO+V0ouoS4from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json6Object8iteratorD2Ev (libSceJson2) - NID
patTzc7zBjwfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - ZN3sce4Json6ObjectC2ERKS1 (libSceJson2) - NID
tSRqQ-+Y4PEfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json6ObjectC2Ev (libSceJson2) - NID
SkKczWHdklcfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json6ObjectD2Ev (libSceJson2) - NID
1siRBursJjwfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json6Parser5parseERNS0_5ValueEPKc (libSceJson2) - NID
LB3jxppxyKUfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json6StringC2EPKc (libSceJson2) - NID
N78gkQzXRL4from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - ZN3sce4Json6StringC2ERKS1 (libSceJson2) - NID
gALFgNfF+9Ifrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json6StringC2Ev (libSceJson2) - NID
eG9E9M6XvTMfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZN3sce4Json6StringD2Ev (libSceJson2) - NID
Ui7YFnSTCBwfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZNK3sce4Json14InitParameter211getUserDataEv (libSceJson2) - NID
GWtzpTKbZ+0from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZNK3sce4Json14InitParameter212getAllocatorEv (libSceJson2) - NID
BykPm1ajcM0from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZNK3sce4Json14InitParameter217getFileBufferSizeEv (libSceJson2) - NID
Pcg6xQUhq9Efrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZNK3sce4Json14InitParameter225getSpecialFloatFormatTypeEv (libSceJson2) - NID
PDkib0zyABgfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only. - _ZNK3sce4Json5ValueixERKNS0_6StringE (libSceJson2) - NID
clF7J7N9xXEfrom the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.