diff options
author | Johannes Schlüter <johannes@php.net> | 2009-02-17 14:42:26 +0000 |
---|---|---|
committer | Johannes Schlüter <johannes@php.net> | 2009-02-17 14:42:26 +0000 |
commit | 162aed0aedad595331424bce4e5fc12dfaa53897 (patch) | |
tree | 92b4e9fc016b9a8df5969d5e5d203ca7a266bf7b | |
parent | a7eb83fef5489d91661eee4e90611d351c5569b0 (diff) | |
download | php-git-162aed0aedad595331424bce4e5fc12dfaa53897.tar.gz |
MFH: Fix #46542 Extending PDO class with a __call() function doesn't work
as expected
-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 |