diff options
-rw-r--r-- | NEWS | 2 | ||||
-rwxr-xr-x | ext/pdo/pdo_dbh.c | 2 | ||||
-rw-r--r-- | ext/pdo_sqlite/tests/bug46542.phpt | 20 |
3 files changed, 23 insertions, 1 deletions
@@ -10,6 +10,8 @@ PHP NEWS - Fixed bug #47085 (rename() returns true even if the file in PHAR does not exist). (Greg) - Fixed bug #47031 (Fix constants in DualIterator example). (Etienne) - Fixed bug #46897 (ob_flush() should fail to flush unerasable buffers). (David C.) +- Fixed bug #46542 (Extending PDO class with a __call() function doesn't work + as expected). (Johannes) - Fixed bug #46347 (parse_ini_file() doesn't support * in keys). (Nuno) - Fixed bug #46048 (SimpleXML top-level @attributes not part of iterator). (David C.) - Fixed bug #45432 (PDO: persistent connection leak). (Felipe) diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c index c3e68ebad8..8f443b0636 100755 --- a/ext/pdo/pdo_dbh.c +++ b/ext/pdo/pdo_dbh.c @@ -1359,7 +1359,7 @@ static union _zend_function *dbh_method_get( out: if (!fbc) { if (std_object_handlers.get_method) { - fbc = std_object_handlers.get_method(object_pp, lc_method_name, method_len TSRMLS_CC); + fbc = std_object_handlers.get_method(object_pp, method_name, method_len TSRMLS_CC); } } diff --git a/ext/pdo_sqlite/tests/bug46542.phpt b/ext/pdo_sqlite/tests/bug46542.phpt new file mode 100644 index 0000000000..e08cc14c1b --- /dev/null +++ b/ext/pdo_sqlite/tests/bug46542.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #46542 Extending PDO class with a __call() function +--SKIPIF-- +<?php # vim:ft=php +if (!extension_loaded('pdo_sqlite')) print 'skip not loaded'; +?> +--FILE-- +<?php +class A extends PDO +{ function __call($m, $p) {print __CLASS__."::$m\n";} } + +$a = new A('sqlite:dummy.db'); + +$a->truc(); +$a->TRUC(); + +?> +--EXPECT-- +A::truc +A::truc |