Skip to content

Stdlib: mb_convert_encoding() UUENCODE transfer encoding (#28981) - #29201

Merged
PurHur merged 1 commit into
masterfrom
agent/stdlib-28981-mb-convert-uuencode
Aug 9, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/stdlib-28981-mb-convert-uuencode

Conversation

@PurHur

@PurHur PurHur commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Implement libmbfl UUENCODE for mb_convert_encoding() (encode with begin 0644 filename header, decode via begin-line seek + convert_uudecode, identity = decode) matching php-src mbfilter_uuencode.c.
  • Resolve MIME name x-uuencode; emit PHP 8.2+ Uuencode deprecation when $to_encoding resolves to UUENCODE.
  • Add compliance .phpt + dedicated MbConvertEncodingUuencodeVMTest.

Closes #28981

php-src: ext/mbstring/libmbfl/filters/mbfilter_uuencode.c, ext/standard/uuencode.c
PHP: ext/mbstring/VmMbstring.php, MbstringEncodingRegistry.php

Test plan

  • Zend vs VM repro (Hi / empty / x-uuencode / decode / identity) — byte-identical
  • vendor/bin/phpunit test/compliance/MbConvertEncodingUuencodeVMTest.php — OK
  • Sibling MbEncodingAliasesSpecialVMTest + QP test still OK
  • AOT literal fold: ./phpc build of mb_convert_encoding("Hi","UUENCODE") and decode literals — OK
  • Non-literal mb_convert_encoding remains not JIT/AOT-lowered (pre-existing; same as other mb convert paths)

Gate snapshot (tried-first)

Gate Result
bootstrap-inventory OK 7252/7252
north-star5-fast green
helper-runtime-prelink red on master (#29197; not this PR)

Also closed invalid re-file #29189 (XMLWriter::toString not in php-src).

Made with Cursor

Wire libmbfl UUENCODE transfer encoding through existing VmString uuencode
helpers so PROFILE/php-src-strict matches Zend (begin header, decode, 8.2+
deprecation) instead of ValueError on a listed encoding.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit a1ff0d1 into master Aug 9, 2026
1 check failed
@PurHur
PurHur deleted the agent/stdlib-28981-mb-convert-uuencode branch August 9, 2026 02:26
PurHur added a commit that referenced this pull request Aug 9, 2026
…(re-#29197) (#29206)

Release-readiness went red again on tip: three lib/VM property-fetch helper
fingerprints drifted with the dynamic-property deprecate path, and four
mbstring units plus inventory construct flags drifted with #29201. Republish
Docker-emitted fingerprints and regenerate bootstrap-inventory.

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: mb_convert_encoding() UUENCODE listed but ValueError — Zend convert_uuencode path (ext/mbstring/mbstring.c)

1 participant