Skip to content

Stdlib: xmlrpc encode_request/decode_request/type helpers (#22254) - #22807

Merged
PurHur merged 1 commit into
masterfrom
agent/advanced-stdlib-22254-xmlrpc-request-types
Jul 24, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/advanced-stdlib-22254-xmlrpc-request-types

Conversation

@PurHur

@PurHur PurHur commented Jul 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add xmlrpc_encode_request, xmlrpc_decode_request, xmlrpc_is_fault, xmlrpc_get_type, xmlrpc_set_type behind XmlrpcExtensionPolicy (same gate as encode/decode).
  • Request round-trip + fault detection + typed base64 encode via VmXmlrpc (php-in-PHP; no runtime/*.c).
  • set_type stores a struct marker (__xmlrpc_type__) so by-ref sites keep the typed payload for encode/get_type.

php-src: historic ext/xmlrpc/xmlrpc-epi-php.c (removed in 8.0; PECL successor).
PHP: ext/xmlrpc/VmXmlrpc.php + new builtins; lib/BuiltinByRefParams.php for &$method / &$value.

Closes #22254

Test plan

  • PHP_COMPILER_PROFILE=8.4 php bin/vm.php test/repro/issue_22254_xmlrpc_request_types.php — all symbols true; method=demo.add; params_ok; is_fault
  • PHP_COMPILER_PROFILE=8.4 phpunit --filter xmlrpc_request_type_helpers — OK
  • Reference-profile phantom / extension_loaded withheld — OK
  • Existing xmlrpc_roundtrip under PROFILE=8.4 — OK

Made with Cursor

…pe (#22254)

Register client/request and type helpers beside encode/decode under
XmlrpcExtensionPolicy. PHP-in-PHP via VmXmlrpc; set_type uses a typed
struct marker so encode/get_type survive by-ref call sites.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit cd2f79e into master Jul 24, 2026
@PurHur
PurHur deleted the agent/advanced-stdlib-22254-xmlrpc-request-types branch July 24, 2026 06:55
PurHur added a commit that referenced this pull request Jul 24, 2026
…#22812)

#22807 added xmlrpc_* request/type helpers to the vm.php inventory without
compiler_lib_spine_smoke coverage; release-readiness regenerated the inventory
doc then failed spine-coverage / north-star5-fast. Also restamp lowering
fingerprint after concurrent master drift (#8713).

Co-authored-by: PurHur <PurHur@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stdlib: xmlrpc_encode_request()/decode_request()/is_fault()/get_type()/set_type missing after encode/decode (#6579)

1 participant