diff options
author | Andrey Hristov <andrey@php.net> | 2014-01-24 11:52:35 +0200 |
---|---|---|
committer | Andrey Hristov <andrey@php.net> | 2014-01-24 11:52:35 +0200 |
commit | cd2cc7b8f95aee903e13c8aefc5f78d2e57a53ba (patch) | |
tree | dd93aa0a9a7dc4a83634c51fe8284ac527f461fa /ext/mysqlnd/mysqlnd_ps_codec.c | |
parent | c1b2f1aa13ee56290387b4e075de62af40d92eb2 (diff) | |
download | php-git-cd2cc7b8f95aee903e13c8aefc5f78d2e57a53ba.tar.gz |
Reduce code duplication a bit
Diffstat (limited to 'ext/mysqlnd/mysqlnd_ps_codec.c')
-rw-r--r-- | ext/mysqlnd/mysqlnd_ps_codec.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/ext/mysqlnd/mysqlnd_ps_codec.c b/ext/mysqlnd/mysqlnd_ps_codec.c index 724feea07f..e890c2b473 100644 --- a/ext/mysqlnd/mysqlnd_ps_codec.c +++ b/ext/mysqlnd/mysqlnd_ps_codec.c @@ -670,6 +670,7 @@ mysqlnd_stmt_execute_calculate_param_values_size(MYSQLND_STMT_DATA * stmt, zval unsigned int i; DBG_ENTER("mysqlnd_stmt_execute_calculate_param_values_size"); for (i = 0; i < stmt->param_count; i++) { + unsigned short is_longlong = 0; unsigned int j; zval *the_var = stmt->param_bind[i].zv; @@ -702,15 +703,8 @@ mysqlnd_stmt_execute_calculate_param_values_size(MYSQLND_STMT_DATA * stmt, zval } break; case MYSQL_TYPE_LONGLONG: - { - zval *tmp_data = (*copies_param && (*copies_param)[i])? (*copies_param)[i]: stmt->param_bind[i].zv; - if (Z_TYPE_P(tmp_data) == IS_STRING) { - goto use_string; - } - convert_to_long_ex(&tmp_data); - } - *data_size += 8; - break; + is_longlong = 4; + /* fall-through */ case MYSQL_TYPE_LONG: { zval *tmp_data = (*copies_param && (*copies_param)[i])? (*copies_param)[i]: stmt->param_bind[i].zv; @@ -719,7 +713,7 @@ mysqlnd_stmt_execute_calculate_param_values_size(MYSQLND_STMT_DATA * stmt, zval } convert_to_long_ex(&tmp_data); } - *data_size += 4; + *data_size += 4 + is_longlong; break; case MYSQL_TYPE_LONG_BLOB: if (!(stmt->param_bind[i].flags & MYSQLND_PARAM_BIND_BLOB_USED)) { |