@@ -2009,23 +2009,28 @@ PHP_FUNCTION(mssql_init)
2009
2009
}
2010
2010
/* }}} */
2011
2011
2012
- /* {{{ proto bool mssql_bind(resource stmt, string param_name, mixed var, int type [, int is_output [, int is_null [, int maxlen]]])
2012
+ /* {{{ proto bool mssql_bind(resource stmt, string param_name, mixed var, int type [, bool is_output [, bool is_null [, int maxlen]]])
2013
2013
Adds a parameter to a stored procedure or a remote stored procedure */
2014
2014
PHP_FUNCTION (mssql_bind )
2015
2015
{
2016
2016
char * param_name ;
2017
2017
int param_name_len , datalen ;
2018
2018
int status = 0 ;
2019
- long type = 0 , is_output = 0 , is_null = 0 , maxlen = -1 ;
2019
+ long type = 0 , maxlen = -1 ;
2020
2020
zval * stmt , * * var ;
2021
+ zend_bool is_output = 0 , is_null = 0 ;
2021
2022
mssql_link * mssql_ptr ;
2022
2023
mssql_statement * statement ;
2023
2024
mssql_bind bind ,* bindp ;
2024
2025
LPBYTE value = NULL ;
2025
2026
2026
- if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "rsZl|lll " , & stmt , & param_name , & param_name_len , & var , & type , & is_output , & is_null , & maxlen ) == FAILURE ) {
2027
+ if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "rsZl|bbl " , & stmt , & param_name , & param_name_len , & var , & type , & is_output , & is_null , & maxlen ) == FAILURE ) {
2027
2028
return ;
2028
2029
}
2030
+
2031
+ if (ZEND_NUM_ARGS () == 7 && !is_output ) {
2032
+ maxlen = -1 ;
2033
+ }
2029
2034
2030
2035
ZEND_FETCH_RESOURCE (statement , mssql_statement * , & stmt , -1 , "MS SQL-Statement" , le_statement );
2031
2036
@@ -2039,24 +2044,21 @@ PHP_FUNCTION(mssql_bind)
2039
2044
if (is_null ) {
2040
2045
maxlen = 0 ;
2041
2046
datalen = 0 ;
2042
- }
2043
- else {
2047
+ } else {
2044
2048
convert_to_string_ex (var );
2045
2049
datalen = Z_STRLEN_PP (var );
2046
2050
value = (LPBYTE )Z_STRVAL_PP (var );
2047
2051
}
2048
- }
2049
- else { /* fixed-length type */
2052
+ } else {
2053
+ /* fixed-length type */
2050
2054
if (is_null ) {
2051
2055
datalen = 0 ;
2052
- }
2053
- else {
2056
+ } else {
2054
2057
datalen = -1 ;
2055
2058
}
2056
2059
maxlen = -1 ;
2057
2060
2058
- switch (type ) {
2059
-
2061
+ switch (type ) {
2060
2062
case SQLFLT4 :
2061
2063
case SQLFLT8 :
2062
2064
case SQLFLTN :
0 commit comments