File tree Expand file tree Collapse file tree 5 files changed +11
-7
lines changed Expand file tree Collapse file tree 5 files changed +11
-7
lines changed Original file line number Diff line number Diff line change @@ -115,7 +115,7 @@ zend_module_entry pdo_module_entry = {
115
115
ZEND_GET_MODULE (pdo )
116
116
#endif
117
117
118
- PDO_API int php_pdo_register_driver (const pdo_driver_t * driver ) /* {{{ */
118
+ PDO_API zend_result php_pdo_register_driver (const pdo_driver_t * driver ) /* {{{ */
119
119
{
120
120
if (driver -> api_version != PDO_DRIVER_API ) {
121
121
zend_error (E_ERROR , "PDO: driver %s requires PDO API version " ZEND_ULONG_FMT "; this is PDO version %d" ,
Original file line number Diff line number Diff line change @@ -655,8 +655,9 @@ struct _pdo_row_t {
655
655
pdo_stmt_t *stmt;
656
656
};
657
657
658
- /* call this in MINIT to register your PDO driver */
659
- PDO_API int php_pdo_register_driver (const pdo_driver_t *driver);
658
+ /* Call this in MINIT to register the PDO driver.
659
+ * Registering the driver might fail and should be reported accordingly in MINIT. */
660
+ PDO_API zend_result php_pdo_register_driver (const pdo_driver_t *driver);
660
661
/* call this in MSHUTDOWN to unregister your PDO driver */
661
662
PDO_API void php_pdo_unregister_driver (const pdo_driver_t *driver);
662
663
Original file line number Diff line number Diff line change @@ -58,7 +58,9 @@ PHP_MINIT_FUNCTION(pdo_firebird) /* {{{ */
58
58
REGISTER_PDO_CLASS_CONST_LONG ("FB_ATTR_TIME_FORMAT" , (zend_long ) PDO_FB_ATTR_TIME_FORMAT );
59
59
REGISTER_PDO_CLASS_CONST_LONG ("FB_ATTR_TIMESTAMP_FORMAT" , (zend_long ) PDO_FB_ATTR_TIMESTAMP_FORMAT );
60
60
61
- php_pdo_register_driver (& pdo_firebird_driver );
61
+ if (FAILURE == php_pdo_register_driver (& pdo_firebird_driver )) {
62
+ return FAILURE ;
63
+ }
62
64
63
65
#ifdef ZEND_SIGNALS
64
66
/* firebird replaces some signals at runtime, suppress warnings. */
Original file line number Diff line number Diff line change @@ -87,7 +87,9 @@ PHP_MINIT_FUNCTION(pdo_oci)
87
87
REGISTER_PDO_CLASS_CONST_LONG ("OCI_ATTR_MODULE" , (zend_long )PDO_OCI_ATTR_MODULE );
88
88
REGISTER_PDO_CLASS_CONST_LONG ("OCI_ATTR_CALL_TIMEOUT" , (zend_long )PDO_OCI_ATTR_CALL_TIMEOUT );
89
89
90
- php_pdo_register_driver (& pdo_oci_driver );
90
+ if (FAILURE == php_pdo_register_driver (& pdo_oci_driver )) {
91
+ return FAILURE ;
92
+ }
91
93
92
94
// Defer OCI init to PHP_RINIT_FUNCTION because with php-fpm,
93
95
// NLS_LANG is not yet available here.
Original file line number Diff line number Diff line change @@ -65,8 +65,7 @@ PHP_MINIT_FUNCTION(pdo_pgsql)
65
65
REGISTER_PDO_CLASS_CONST_LONG ("PGSQL_TRANSACTION_INERROR" , (zend_long )PGSQL_TRANSACTION_INERROR );
66
66
REGISTER_PDO_CLASS_CONST_LONG ("PGSQL_TRANSACTION_UNKNOWN" , (zend_long )PGSQL_TRANSACTION_UNKNOWN );
67
67
68
- php_pdo_register_driver (& pdo_pgsql_driver );
69
- return SUCCESS ;
68
+ return php_pdo_register_driver (& pdo_pgsql_driver );
70
69
}
71
70
/* }}} */
72
71
You can’t perform that action at this time.
0 commit comments