@@ -74,7 +74,7 @@ mysqlnd_set_sock_keepalive(php_stream * stream)
74
74
/* {{{ mysqlnd_vio::network_read */
75
75
static enum_func_status
76
76
MYSQLND_METHOD (mysqlnd_vio , network_read )(MYSQLND_VIO * const vio , zend_uchar * const buffer , const size_t count ,
77
- MYSQLND_STATS * const stats , MYSQLND_ERROR_INFO * const error_info )
77
+ MYSQLND_STATS * const stats , MYSQLND_ERROR_INFO * const error_info )
78
78
{
79
79
enum_func_status return_value = PASS ;
80
80
php_stream * net_stream = vio -> data -> m .get_stream (vio );
@@ -105,7 +105,7 @@ MYSQLND_METHOD(mysqlnd_vio, network_read)(MYSQLND_VIO * const vio, zend_uchar *
105
105
/* {{{ mysqlnd_vio::network_write */
106
106
static size_t
107
107
MYSQLND_METHOD (mysqlnd_vio , network_write )(MYSQLND_VIO * const vio , const zend_uchar * const buffer , const size_t count ,
108
- MYSQLND_STATS * const stats , MYSQLND_ERROR_INFO * const error_info )
108
+ MYSQLND_STATS * const stats , MYSQLND_ERROR_INFO * const error_info )
109
109
{
110
110
size_t ret ;
111
111
DBG_ENTER ("mysqlnd_vio::network_write" );
@@ -318,8 +318,7 @@ MYSQLND_METHOD(mysqlnd_vio, connect)(MYSQLND_VIO * const vio, const MYSQLND_CSTR
318
318
open_stream = vio -> data -> m .get_open_stream (vio , scheme , error_info );
319
319
if (open_stream ) {
320
320
php_stream * net_stream = open_stream (vio , scheme , persistent , conn_stats , error_info );
321
- if (net_stream ) {
322
- (void ) vio -> data -> m .set_stream (vio , net_stream );
321
+ if (net_stream && PASS == vio -> data -> m .set_stream (vio , net_stream )) {
323
322
vio -> data -> m .post_connect_set_opt (vio , scheme , conn_stats , error_info );
324
323
ret = PASS ;
325
324
}
@@ -676,7 +675,7 @@ MYSQLND_METHOD(mysqlnd_vio, close_stream)(MYSQLND_VIO * const net, MYSQLND_STATS
676
675
} else {
677
676
php_stream_free (net_stream , PHP_STREAM_FREE_CLOSE );
678
677
}
679
- ( void ) net -> data -> m .set_stream (net , NULL );
678
+ net -> data -> m .set_stream (net , NULL );
680
679
}
681
680
682
681
DBG_VOID_RETURN ;
@@ -731,16 +730,26 @@ MYSQLND_METHOD(mysqlnd_vio, get_stream)(const MYSQLND_VIO * const net)
731
730
732
731
733
732
/* {{{ mysqlnd_vio::set_stream */
734
- static php_stream *
735
- MYSQLND_METHOD (mysqlnd_vio , set_stream )(MYSQLND_VIO * const net , php_stream * net_stream )
733
+ static enum_func_status
734
+ MYSQLND_METHOD (mysqlnd_vio , set_stream )(MYSQLND_VIO * const vio , php_stream * net_stream )
736
735
{
737
- php_stream * ret = NULL ;
738
736
DBG_ENTER ("mysqlnd_vio::set_stream" );
739
- if (net ) {
740
- net -> data -> stream = net_stream ;
741
- ret = net -> data -> stream ;
737
+ if (vio ) {
738
+ vio -> data -> stream = net_stream ;
739
+ DBG_RETURN ( PASS ) ;
742
740
}
743
- DBG_RETURN (ret );
741
+ DBG_RETURN (FAIL );
742
+ }
743
+ /* }}} */
744
+
745
+
746
+ /* {{{ mysqlnd_vio::has_valid_stream */
747
+ static zend_bool
748
+ MYSQLND_METHOD (mysqlnd_vio , has_valid_stream )(const MYSQLND_VIO * const vio )
749
+ {
750
+ DBG_ENTER ("mysqlnd_vio::has_valid_stream" );
751
+ DBG_INF_FMT ("%p %p" , vio , vio ? vio -> data -> stream :NULL );
752
+ DBG_RETURN ((vio && vio -> data -> stream )? TRUE: FALSE);
744
753
}
745
754
/* }}} */
746
755
@@ -757,6 +766,7 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_vio)
757
766
758
767
MYSQLND_METHOD (mysqlnd_vio , get_stream ),
759
768
MYSQLND_METHOD (mysqlnd_vio , set_stream ),
769
+ MYSQLND_METHOD (mysqlnd_vio , has_valid_stream ),
760
770
MYSQLND_METHOD (mysqlnd_vio , get_open_stream ),
761
771
762
772
MYSQLND_METHOD (mysqlnd_vio , set_client_option ),
0 commit comments