@ -265,7 +265,7 @@ MYSQLND_METHOD(mysqlnd_net, send)(MYSQLND * const conn, char * const buf, size_t
STORE_HEADER_SIZE ( safe_storage , uncompressed_payload ) ;
STORE_HEADER_SIZE ( safe_storage , uncompressed_payload ) ;
int3store ( uncompressed_payload , to_be_sent ) ;
int3store ( uncompressed_payload , to_be_sent ) ;
int1store ( uncompressed_payload + 3 , net - > packet_no ) ;
int1store ( uncompressed_payload + 3 , net - > packet_no ) ;
if ( PASS = = net - > m . encode ( ( compress_buf + COMPRESSED_HEADER_SIZE + MYSQLND_HEADER_SIZE ) , tmp_complen ,
if ( PASS = = net - > m . encode ( ( compress_buf + COMPRESSED_HEADER_SIZE + MYSQLND_HEADER_SIZE ) , & tmp_complen ,
uncompressed_payload , to_be_sent + MYSQLND_HEADER_SIZE TSRMLS_CC ) )
uncompressed_payload , to_be_sent + MYSQLND_HEADER_SIZE TSRMLS_CC ) )
{
{
int3store ( compress_buf + MYSQLND_HEADER_SIZE , to_be_sent + MYSQLND_HEADER_SIZE ) ;
int3store ( compress_buf + MYSQLND_HEADER_SIZE , to_be_sent + MYSQLND_HEADER_SIZE ) ;
@ -491,20 +491,22 @@ MYSQLND_METHOD(mysqlnd_net, decode)(zend_uchar * uncompressed_data, size_t uncom
/* {{{ mysqlnd_net::encode */
/* {{{ mysqlnd_net::encode */
static enum_func_status
static enum_func_status
MYSQLND_METHOD ( mysqlnd_net , encode ) ( zend_uchar * compress_buffer , size_t compress_buffer_len ,
MYSQLND_METHOD ( mysqlnd_net , encode ) ( zend_uchar * compress_buffer , size_t * compress_buffer_len ,
const zend_uchar * const uncompressed_data , size_t uncompressed_data_len TSRMLS_DC )
const zend_uchar * const uncompressed_data , size_t uncompressed_data_len TSRMLS_DC )
{
{
# ifdef MYSQLND_COMPRESSION_ENABLED
# ifdef MYSQLND_COMPRESSION_ENABLED
int error ;
int error ;
uLongf tmp_complen = compress_buffer_len ;
uLongf tmp_complen = * compress_buffer_len ;
DBG_ENTER ( " mysqlnd_net::encode " ) ;
DBG_ENTER ( " mysqlnd_net::encode " ) ;
error = compress ( compress_buffer , & tmp_complen , uncompressed_data , uncompressed_data_len ) ;
error = compress ( compress_buffer , & tmp_complen , uncompressed_data , uncompressed_data_len ) ;
if ( error ! = Z_OK ) {
if ( error ! = Z_OK ) {
DBG_INF_FMT ( " compression NOT successful. error=%d Z_OK=%d Z_BUF_ERROR=%d Z_MEM_ERROR=%d " , error , Z_OK , Z_BUF_ERROR , Z_MEM_ERROR ) ;
DBG_INF_FMT ( " compression NOT successful. error=%d Z_OK=%d Z_BUF_ERROR=%d Z_MEM_ERROR=%d " , error , Z_OK , Z_BUF_ERROR , Z_MEM_ERROR ) ;
} else {
} else {
* compress_buffer_len = tmp_complen ;
DBG_INF_FMT ( " compression successful. compressed size=%lu " , tmp_complen ) ;
DBG_INF_FMT ( " compression successful. compressed size=%lu " , tmp_complen ) ;
}
}
DBG_RETURN ( error = = Z_OK ? PASS : FAIL ) ;
DBG_RETURN ( error = = Z_OK ? PASS : FAIL ) ;
# else
# else
DBG_ENTER ( " mysqlnd_net::encode " ) ;
DBG_ENTER ( " mysqlnd_net::encode " ) ;