@@ -104,13 +104,13 @@ int _pdo_pgsql_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt, int errcode, const char *
104
104
105
105
static void _pdo_pgsql_notice (void * context , const char * message ) /* {{{ */
106
106
{
107
- zval zarg ;
108
- zend_fcall_info_cache * fc ;
109
107
pdo_dbh_t * dbh = (pdo_dbh_t * )context ;
110
- if ((fc = ((pdo_pgsql_db_handle * )dbh -> driver_data )-> notice_callback )) {
111
- ZVAL_STRINGL (& zarg , (char * ) message , strlen (message ));
108
+ zend_fcall_info_cache * fc = ((pdo_pgsql_db_handle * )dbh -> driver_data )-> notice_callback ;
109
+ if (fc ) {
110
+ zval zarg ;
111
+ ZVAL_STRING (& zarg , message );
112
112
zend_call_known_fcc (fc , NULL , 1 , & zarg , NULL );
113
- zval_ptr_dtor (& zarg );
113
+ zval_ptr_dtor_str (& zarg );
114
114
}
115
115
}
116
116
/* }}} */
@@ -1242,31 +1242,27 @@ PHP_METHOD(PDO_PGSql_Ext, pgsqlGetPid)
1242
1242
}
1243
1243
/* }}} */
1244
1244
1245
- /* {{{ proto bool PDO::pgsqlSetNoticeCallback(mixed callback)
1245
+ /* {{{ proto void PDO::pgsqlSetNoticeCallback(mixed callback)
1246
1246
Sets a callback to receive DB notices (after client_min_messages has been set) */
1247
1247
PHP_METHOD (PDO_PGSql_Ext , pgsqlSetNoticeCallback )
1248
1248
{
1249
- pdo_dbh_t * dbh ;
1250
- pdo_pgsql_db_handle * H ;
1251
1249
zend_fcall_info fci = empty_fcall_info ;
1252
1250
zend_fcall_info_cache fcc = empty_fcall_info_cache ;
1251
+ if (FAILURE == zend_parse_parameters (ZEND_NUM_ARGS (), "F!" , & fci , & fcc )) {
1252
+ RETURN_THROWS ();
1253
+ }
1253
1254
1254
- dbh = Z_PDO_DBH_P (getThis () );
1255
+ pdo_dbh_t * dbh = Z_PDO_DBH_P (ZEND_THIS );
1255
1256
PDO_CONSTRUCT_CHECK ;
1256
1257
1257
- H = (pdo_pgsql_db_handle * )dbh -> driver_data ;
1258
+ pdo_pgsql_db_handle * H = (pdo_pgsql_db_handle * )dbh -> driver_data ;
1258
1259
1259
1260
pdo_pgsql_cleanup_notice_callback (H );
1260
- if (FAILURE == zend_parse_parameters (ZEND_NUM_ARGS (), "F!" , & fci , & fcc )) {
1261
- RETURN_FALSE ;
1262
- }
1263
1261
1264
1262
if (ZEND_FCC_INITIALIZED (fcc )) {
1265
- H -> notice_callback = ecalloc ( 1 , sizeof (zend_fcall_info_cache ));
1263
+ H -> notice_callback = emalloc ( sizeof (zend_fcall_info_cache ));
1266
1264
zend_fcc_dup (H -> notice_callback , & fcc );
1267
1265
}
1268
-
1269
- RETURN_TRUE ;
1270
1266
}
1271
1267
/* }}} */
1272
1268
0 commit comments