mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
api_ext to reverse_api
This commit is contained in:
parent
b6921369b5
commit
efb68d9399
11 changed files with 178 additions and 64 deletions
|
@ -48,10 +48,11 @@ ZEND_DECLARE_MODULE_GLOBALS(pdo_mysql);
|
|||
#endif
|
||||
|
||||
#ifdef PDO_USE_MYSQLND
|
||||
static MYSQLND *pdo_mysql_convert_zv_to_mysqlnd(zval *zv TSRMLS_DC)
|
||||
#include "ext/mysqlnd/mysqlnd_reverse_api.h"
|
||||
static MYSQLND * pdo_mysql_convert_zv_to_mysqlnd(zval * zv TSRMLS_DC)
|
||||
{
|
||||
if (Z_TYPE_P(zv) == IS_OBJECT && Z_OBJCE_P(zv) == php_pdo_get_dbh_ce()) {
|
||||
pdo_dbh_t *dbh = zend_object_store_get_object(zv TSRMLS_CC);
|
||||
pdo_dbh_t * dbh = zend_object_store_get_object(zv TSRMLS_CC);
|
||||
|
||||
if (!dbh || dbh->driver != &pdo_mysql_driver) {
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Provided PDO instance is not using MySQL but %s", dbh->driver->driver_name);
|
||||
|
@ -63,7 +64,7 @@ static MYSQLND *pdo_mysql_convert_zv_to_mysqlnd(zval *zv TSRMLS_DC)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static mysqlnd_api_extension_t pdo_mysql_api_ext = {
|
||||
static MYSQLND_REVERSE_API pdo_mysql_reverse_api = {
|
||||
&pdo_mysql_module_entry,
|
||||
pdo_mysql_convert_zv_to_mysqlnd
|
||||
};
|
||||
|
@ -109,7 +110,7 @@ static PHP_MINIT_FUNCTION(pdo_mysql)
|
|||
REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SSL_CIPHER", (long)PDO_MYSQL_ATTR_SSL_CIPHER);
|
||||
|
||||
#ifdef PDO_USE_MYSQLND
|
||||
mysqlnd_register_api_extension(&pdo_mysql_api_ext);
|
||||
mysqlnd_reverse_api_register_api(&pdo_mysql_reverse_api TSRMLS_CC);
|
||||
#endif
|
||||
|
||||
return php_pdo_register_driver(&pdo_mysql_driver);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue