johannes                Mon Mar  3 19:00:45 2008 UTC

  Added files:                 (Branch: PHP_5_3)
    /php-src/ext/pdo/tests      pdo_035.phpt 

  Modified files:              
    /php-src/ext/pdo    pdo_stmt.c 
  Log:
  MFH: Fix get_parent_class() of PDORow instances
  
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_stmt.c?r1=1.118.2.38.2.24.2.13&r2=1.118.2.38.2.24.2.14&diff_format=u
Index: php-src/ext/pdo/pdo_stmt.c
diff -u php-src/ext/pdo/pdo_stmt.c:1.118.2.38.2.24.2.13 
php-src/ext/pdo/pdo_stmt.c:1.118.2.38.2.24.2.14
--- php-src/ext/pdo/pdo_stmt.c:1.118.2.38.2.24.2.13     Tue Feb 26 00:13:57 2008
+++ php-src/ext/pdo/pdo_stmt.c  Mon Mar  3 19:00:45 2008
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_stmt.c,v 1.118.2.38.2.24.2.13 2008/02/26 00:13:57 iliaa Exp $ */
+/* $Id: pdo_stmt.c,v 1.118.2.38.2.24.2.14 2008/03/03 19:00:45 johannes Exp $ */
 
 /* The PDO Statement Handle Class */
 
@@ -2675,9 +2675,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 = 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

Reply via email to