@@ -58,6 +58,7 @@ void mysqli_common_connect(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_real_conne
58
58
size_t hostname_len = 0 , username_len = 0 , passwd_len = 0 , dbname_len = 0 , socket_len = 0 ;
59
59
zend_bool persistent = FALSE;
60
60
zend_long port = 0 , flags = 0 ;
61
+ zend_bool port_is_null = 1 ;
61
62
zend_string * hash_key = NULL ;
62
63
zend_bool new_connection = FALSE;
63
64
zend_resource * le ;
@@ -80,8 +81,8 @@ void mysqli_common_connect(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_real_conne
80
81
hostname = username = dbname = passwd = socket = NULL ;
81
82
82
83
if (!is_real_connect ) {
83
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "|ssssls " , & hostname , & hostname_len , & username , & username_len ,
84
- & passwd , & passwd_len , & dbname , & dbname_len , & port , & socket , & socket_len ) == FAILURE ) {
84
+ if (zend_parse_parameters (ZEND_NUM_ARGS (), "|s!s!s!s!l!s! " , & hostname , & hostname_len , & username , & username_len ,
85
+ & passwd , & passwd_len , & dbname , & dbname_len , & port , & port_is_null , & socket , & socket_len ) == FAILURE ) {
85
86
return ;
86
87
}
87
88
@@ -98,9 +99,8 @@ void mysqli_common_connect(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_real_conne
98
99
flags |= CLIENT_MULTI_RESULTS ; /* needed for mysql_multi_query() */
99
100
} else {
100
101
/* We have flags too */
101
- if (zend_parse_method_parameters (ZEND_NUM_ARGS (), getThis (), "O|sssslsl" , & object , mysqli_link_class_entry ,
102
- & hostname , & hostname_len , & username , & username_len , & passwd , & passwd_len , & dbname , & dbname_len , & port , & socket , & socket_len ,
103
- & flags ) == FAILURE ) {
102
+ if (zend_parse_method_parameters (ZEND_NUM_ARGS (), getThis (), "O|s!s!s!s!l!s!l" , & object , mysqli_link_class_entry ,
103
+ & hostname , & hostname_len , & username , & username_len , & passwd , & passwd_len , & dbname , & dbname_len , & port , & port_is_null , & socket , & socket_len , & flags ) == FAILURE ) {
104
104
return ;
105
105
}
106
106
@@ -121,7 +121,7 @@ void mysqli_common_connect(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_real_conne
121
121
if (!socket_len || !socket ) {
122
122
socket = MyG (default_socket );
123
123
}
124
- if (!port ){
124
+ if (port_is_null || !port ) {
125
125
port = MyG (default_port );
126
126
}
127
127
if (!passwd ) {
0 commit comments