johannes Mon Mar 3 18:58:59 2008 UTC Added files: /php-src/ext/pdo/tests pdo_035.phpt
Modified files: /php-src/ext/pdo pdo_stmt.c Log: - Fix get_parent_class() of PDORow instances http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_stmt.c?r1=1.188&r2=1.189&diff_format=u Index: php-src/ext/pdo/pdo_stmt.c diff -u php-src/ext/pdo/pdo_stmt.c:1.188 php-src/ext/pdo/pdo_stmt.c:1.189 --- php-src/ext/pdo/pdo_stmt.c:1.188 Tue Feb 26 00:14:25 2008 +++ php-src/ext/pdo/pdo_stmt.c Mon Mar 3 18:58:59 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_stmt.c,v 1.188 2008/02/26 00:14:25 iliaa Exp $ */ +/* $Id: pdo_stmt.c,v 1.189 2008/03/03 18:58:59 johannes Exp $ */ /* The PDO Statement Handle Class */ @@ -2674,9 +2674,13 @@ static int row_get_classname(zval *object, char **class_name, zend_uint *class_name_len, int parent TSRMLS_DC) { - *class_name = estrndup("PDORow", sizeof("PDORow")-1); - *class_name_len = sizeof("PDORow")-1; - return 0; + if (parent) { + return FAILURE; + } else { + *class_name = UG(unicode) ? USTR_MAKE("PDORow") : estrndup("PDORow", sizeof("PDORow")-1); + *class_name_len = sizeof("PDORow")-1; + return SUCCESS; + } } static int row_compare(zval *object1, zval *object2 TSRMLS_DC) http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/tests/pdo_035.phpt?view=markup&rev=1.1 Index: php-src/ext/pdo/tests/pdo_035.phpt +++ php-src/ext/pdo/tests/pdo_035.phpt --TEST-- PDO Common: PDORow and get_parent_class() --SKIPIF-- <?php if (!extension_loaded('pdo_sqlite')) die ("skip Need PDO_SQlite support"); ?> --FILE-- <?php $db = new PDO('sqlite::memory:'); $db->exec('CREATE TABLE test (id int)'); $db->exec('INSERT INTO test VALUES (23)'); $stmt = $db->prepare('SELECT id FROM test'); $stmt->execute(); $result = $stmt->fetch(PDO::FETCH_LAZY); echo get_class($result), "\n"; var_dump(get_parent_class($result)); ?> --EXPECT-- PDORow bool(false) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php