From: Wez Furlong Date: Sat, 12 Mar 2005 01:16:59 +0000 (+0000) Subject: show list of PDO drivers in phpinfo. X-Git-Tag: php-5.0.1b1~835 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5248f59d1a2e2e59fc4f3c2b4434065672b670cc;p=php show list of PDO drivers in phpinfo. Highlight a possible problem area; iterator leaks when used in foreach(), at least with sqlite2 driver. --- diff --git a/ext/pdo/pdo.c b/ext/pdo/pdo.c index 4043b90f63..a925d534d7 100755 --- a/ext/pdo/pdo.c +++ b/ext/pdo/pdo.c @@ -389,8 +389,21 @@ PHP_RSHUTDOWN_FUNCTION(pdo) /* {{{ PHP_MINFO_FUNCTION */ PHP_MINFO_FUNCTION(pdo) { + HashPosition pos; + ulong num_key; + char *name; + int namelen; + php_info_print_table_start(); php_info_print_table_header(2, "pdo support", "enabled"); + php_info_print_table_header(1, "Available PDO Drivers"); + + zend_hash_internal_pointer_reset_ex(&pdo_driver_hash, &pos); + while (HASH_KEY_IS_STRING == zend_hash_get_current_key_ex(&pdo_driver_hash, &name, &namelen, &num_key, 0, &pos)) { + php_info_print_table_row(1, name); + zend_hash_move_forward_ex(&pdo_driver_hash, &pos); + } + php_info_print_table_end(); #if 0 diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index ec7182e17b..cc84eef896 100755 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -1939,7 +1939,7 @@ static void pdo_stmt_iter_get_data(zend_object_iterator *iter, zval ***data TSRM return; } - ptr_ptr = emalloc(sizeof(*ptr_ptr)); + ptr_ptr = emalloc(sizeof(*ptr_ptr)); /* leaks somewhere */ *ptr_ptr = I->fetch_ahead; ZVAL_ADDREF(I->fetch_ahead);