今日は @ で Fatal を黙らせないようにする修正、Windows 32-bit 版のビルド修正、ext/wddx の非推奨化、AppVeyor の SDK バージョン更新、移植性のないマクロ利用コードの修正、mysqlnd でのメモリリークの修正、FFI のバグ修正、EXIF のメモリリーク修正、PHP Testfest 2017 のテスト取り込み、DatePeriod のリファクタリングとメモリリーク修正、pcntl で pid と uid がリアルタイムシグナルのハンドラ内でとれるようにする修正、FreeBSD 用のソケットオプション追加対応、配列の始点インデックス負値の対応で入ったバグの修正、http_build_query() が指数表記の + を正しくエンコードしない問題の修正、defined()、constant() で private なクラス定数へアクセスしても Fatal にならないようにする修正、ドキュメントの修正、GCC の Global Register Variables の利用箇所の改善、TSRM のマクロで置き換えられる箇所を置き換えるリファクタリングがあった!
この調子でコミットの流量ある日が続くと、そのうち面倒になって「今日は色々あった!」で日々済ましていくようになる気がする。
2019-02-12
nikic: Don't silence fatal errors with @
- https://github.com/php/php-src/commit/a302d1161036988fe220ecd8ecd73e6af1a116fc
-
@
で Fatal を黙らせないよう修正 - internals で話の出ていた奴
- エラーハンドラで
@
利用時に error_reporting() が 0 を返すよう期待しているコードは書き換えが必要
nikic: Add missing braces in UPGRADING example
weltling: Fix 32-bit build
- https://github.com/php/php-src/commit/877ce69b3077ed1e2bb229c05b7b510f3567696d
- [7.4~]
- Windows での Ctrl+C 対応箇所について 32-bit 版でビルドに失敗してたのを直したのかな
cmb69: Deprecate ext/wddx
- https://github.com/php/php-src/commit/6ac8b0a783b20ba28667267b0b09a682bcb129e3
- [7.4~]
- ext/wddx の非推奨化
- 先日 RFC が受理された奴、次は PECL 送りになる
weltling: Update SDK version for AppVeyor
- https://github.com/php/php-src/commit/e74a91862186bba5bb3eacb5b60631bc174b225c
- [7.2~]
- AppVeyor の SDK バージョンを更新
- ところで AppVeyor ってなんて発音すんの?あっぷべよーる?あっぷべいやー?
weltling: Replace broken binary SDK version
- https://github.com/php/php-src/commit/186b5de57537a77e764420119257aa296bdeb627
- [7.2~]
- AppVeyor の SDK バージョンを更新
- なんかバイナリ壊れてるバージョンだったらしい
dstogov: Avoid dependency on "struct flock" fields order.
- https://github.com/php/php-src/commit/9222702633c63254b08466b322266b647ac3e905
- [7.2~]
- struct flock のフィールド順に依存した初期化マクロを使わないようにした
- まあ POSIX.1-2017 でもフィールド順の規定なんか無いしな
dstogov: Fixed bug #77599 (Unbuffered queries; native prepared statements memory leak)
- https://github.com/php/php-src/commit/b6e58dcd2262c30c0657624ca3c372dc90d5a031
- [7.3~]
- ext/mysqlnd で、ATTR_EMULATE_PREPARES を false、MYSQL_ATTR_USE_BUFFERED_QUERY も false とした際にメモリリークする問題の修正
dstogov: Fixed possible crash
- https://github.com/php/php-src/commit/7d4de1a77e6d2f96232a68005cdee4866e3eeb58
- [7.4~]
- ext/ffi で、クラッシュする可能性があった箇所を修正
ramsey: Fixed bug #77564: Memory leak in exif_process_IFD_TAG
- https://github.com/php/php-src/commit/c4294440ffc4a59a1298292b76072e6759034a68
- [7.2~]
- ext/exif で、UserComment が複数ある場合にメモリリークする問題の修正
coudenysj: Test mb_str* functions for 'unknown encoding' warnings
- https://github.com/php/php-src/commit/d8b2705d6262f208b593b7c43cd66670dffc5a12
- [7.4~]
- ext/mbstring で、mb_str*() の不明なエンコーディング利用時の警告が正しく出ることのテストを追加
- PHP Testfest 2017
nikic: Remove "defensive copy" of DatePeriod properties
- https://github.com/php/php-src/commit/a109fddba4e3fbb6e3a2e008c0fa20a57f26103d
- [7.2~]
- ext/date で、DatePeriod の「防御的コピー」を削除
- get_properties() でコピーされっから大丈夫だよということらしい
hsldymq: Make pid & uid available while handling realtime signals
- https://github.com/php/php-src/commit/b5cb3ac8ecab71bfe1eb7d5b2d7a48970e11a5b4
- [7.2~]
- ext/pcntl で、pid と uid がリアルタイムシグナルのハンドラ内でとれるよう修正
devnexen: Adding bunch of FreeBSD socket options flags specifics.
- https://github.com/php/php-src/commit/4e87e56e22958ae43078c216178e2c080c722f14
- [7.4~]
- ext/sockets で、FreeBSD 用のソケットオプション SO_LABEL、SO_PEERLABEL、SO_LISTENQLIMIT、SO_LISTENQLEN、SO_USER_COOKIE に対応
dstogov: Fixed resoure numbering
- https://github.com/php/php-src/commit/87bfafe8bf19acfc3611f93c94f98d8eb41d66e3
- リソース番号が正しく振られなくなっていたのを修正
- 配列の始点インデックス負値の対応で入ったバグかな
nikic: Fixed bug #77608
- https://github.com/php/php-src/commit/8e34de475699a4aa0fbc7b8430574b56dc839362
- [7.2~]
-
http_build_query() が指数表記の
+
を正しくエンコードしない問題の修正 - 謎の特別扱いが入っていた
dstogov: typo
- https://github.com/php/php-src/commit/dbd7fbabe9f0d97b87afec3657ce53b4e5e25b3f
- [7.4~]
- ext/ffi で、なんか気持ちは分かるけど凄い条件式になってたのを修正
- typo と言い切る心の強さ
DanielCiochiu: Fixed bug #75546
- https://github.com/php/php-src/commit/07877c46e3057bc679766898d50529be812243f3
- [7.2~]
- 実際 #75543 だなこれ
- defined()、constant() で private なクラス定数へアクセスしても Fatal にならないよう修正
- 可視性は無視しないけど Fatal にはしないよという落としどころ
nikic: Fix FFI test on Windows
- https://github.com/php/php-src/commit/1449d496701ae5ee1025b73f3d1fa85d33523622
- [7.4~]
- ext/ffi で、Windows でのテストこけを修正
KasperFranz: Correct section number in UPGRADING
- https://github.com/php/php-src/commit/c4b77e03b1f4444b492cc056d90edb02566f6fe2
- [7.4~]
- UPGRADING のセクション番号の誤りを修正
dstogov: More accurate handling of global registers (allow VM with single global register)
- https://github.com/php/php-src/commit/626bc3a2de517f4e0ae647324dd05ceacdfe776b
- [7.4~]
- GCC の Global Register Variables というのをよく使う変数のレジスタ割り当てに利用しており、execute_data は FP、opline は IP の方で割当たるよう CALL の executor でなっていて、HYBRID の VM でも Global Register Variables を使えるようにするとともに、FP と IP の片方だけレジスタ指定で使うことも可能になるよう区別をはっきりさせた、かな
dstogov: Use TSRM macros
- https://github.com/php/php-src/commit/083cfc07cc13b1804ceeaa61f44319c598c05670
- [7.4~]
- TSRM のマクロで置き換えられる箇所を置き換え