From 37d9f1e6e91856922726fb950bd3f3e88ed68efb Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Wed, 7 May 2014 23:34:23 +0800 Subject: [PATCH] Going to refactor mysqlnd --- ext/mysqlnd/mysqlnd.c | 130 ++++------------------------- ext/mysqlnd/mysqlnd_alloc.c | 40 +-------- ext/mysqlnd/mysqlnd_bt.c | 75 ++++++++--------- ext/mysqlnd/mysqlnd_wireprotocol.c | 80 ++---------------- ext/pdo_mysql/mysql_driver.c | 3 +- 5 files changed, 64 insertions(+), 264 deletions(-) diff --git a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c index 893a144c4b..beca4bb781 100644 --- a/ext/mysqlnd/mysqlnd.c +++ b/ext/mysqlnd/mysqlnd.c @@ -64,7 +64,6 @@ PHPAPI const char * const mysqlnd_out_of_memory = "Out of memory"; PHPAPI MYSQLND_STATS *mysqlnd_global_stats = NULL; - /* {{{ mysqlnd_conn_data::free_options */ static void MYSQLND_METHOD(mysqlnd_conn_data, free_options)(MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -104,7 +103,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, free_options)(MYSQLND_CONN_DATA * conn TSRMLS_ } /* }}} */ - /* {{{ mysqlnd_conn_data::free_contents */ static void MYSQLND_METHOD(mysqlnd_conn_data, free_contents)(MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -178,7 +176,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, free_contents)(MYSQLND_CONN_DATA * conn TSRMLS } /* }}} */ - /* {{{ mysqlnd_conn_data::dtor */ static void MYSQLND_METHOD_PRIVATE(mysqlnd_conn_data, dtor)(MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -209,7 +206,6 @@ MYSQLND_METHOD_PRIVATE(mysqlnd_conn_data, dtor)(MYSQLND_CONN_DATA * conn TSRMLS_ } /* }}} */ - /* {{{ mysqlnd_conn_data::simple_command_handle_response */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, simple_command_handle_response)(MYSQLND_CONN_DATA * conn, enum mysqlnd_packet_type ok_packet, @@ -309,7 +305,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, simple_command_handle_response)(MYSQLND_CONN_D } /* }}} */ - /* {{{ mysqlnd_conn_data::simple_command_send_request */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, simple_command_send_request)(MYSQLND_CONN_DATA * conn, enum php_mysqlnd_server_command command, @@ -367,7 +362,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, simple_command_send_request)(MYSQLND_CONN_DATA } /* }}} */ - /* {{{ mysqlnd_conn_data::simple_command */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, simple_command)(MYSQLND_CONN_DATA * conn, enum php_mysqlnd_server_command command, @@ -387,7 +381,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, simple_command)(MYSQLND_CONN_DATA * conn, enum } /* }}} */ - /* {{{ mysqlnd_conn_data::set_server_option */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, set_server_option)(MYSQLND_CONN_DATA * const conn, enum_mysqlnd_server_option option TSRMLS_DC) @@ -407,7 +400,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_server_option)(MYSQLND_CONN_DATA * const c } /* }}} */ - /* {{{ mysqlnd_conn_data::restart_psession */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, restart_psession)(MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -423,7 +415,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, restart_psession)(MYSQLND_CONN_DATA * conn TSR } /* }}} */ - /* {{{ mysqlnd_conn_data::end_psession */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, end_psession)(MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -433,7 +424,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, end_psession)(MYSQLND_CONN_DATA * conn TSRMLS_ } /* }}} */ - /* {{{ mysqlnd_switch_to_ssl_if_needed */ static enum_func_status mysqlnd_switch_to_ssl_if_needed( @@ -488,7 +478,6 @@ end: } /* }}} */ - /* {{{ mysqlnd_conn_data::fetch_auth_plugin_by_name */ static struct st_mysqlnd_authentication_plugin * MYSQLND_METHOD(mysqlnd_conn_data, fetch_auth_plugin_by_name)(const char * const requested_protocol TSRMLS_DC) @@ -506,7 +495,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, fetch_auth_plugin_by_name)(const char * const } /* }}} */ - /* {{{ mysqlnd_run_authentication */ static enum_func_status mysqlnd_run_authentication( @@ -641,7 +629,6 @@ end: } /* }}} */ - /* {{{ mysqlnd_connect_run_authentication */ static enum_func_status mysqlnd_connect_run_authentication( @@ -669,7 +656,6 @@ mysqlnd_connect_run_authentication( } /* }}} */ - /* {{{ mysqlnd_conn_data::execute_init_commands */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, execute_init_commands)(MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -701,7 +687,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, execute_init_commands)(MYSQLND_CONN_DATA * con } /* }}} */ - /* {{{ mysqlnd_conn_data::get_updated_connect_flags */ static unsigned int MYSQLND_METHOD(mysqlnd_conn_data, get_updated_connect_flags)(MYSQLND_CONN_DATA * conn, unsigned int mysql_flags TSRMLS_DC) @@ -743,7 +728,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, get_updated_connect_flags)(MYSQLND_CONN_DATA * } /* }}} */ - /* {{{ mysqlnd_conn_data::connect_handshake */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, connect_handshake)(MYSQLND_CONN_DATA * conn, @@ -824,7 +808,6 @@ err: } /* }}} */ - /* {{{ mysqlnd_conn_data::connect */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, connect)(MYSQLND_CONN_DATA * conn, @@ -1075,7 +1058,6 @@ err: } /* }}} */ - /* {{{ mysqlnd_conn::connect */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn, connect)(MYSQLND * conn_handle, @@ -1103,7 +1085,6 @@ MYSQLND_METHOD(mysqlnd_conn, connect)(MYSQLND * conn_handle, } /* }}} */ - /* {{{ mysqlnd_connect */ PHPAPI MYSQLND * mysqlnd_connect(MYSQLND * conn_handle, const char * host, const char * user, @@ -1145,7 +1126,6 @@ PHPAPI MYSQLND * mysqlnd_connect(MYSQLND * conn_handle, } /* }}} */ - /* {{{ mysqlnd_conn_data::query */ /* If conn->error_info->error_no is not zero, then we had an error. @@ -1174,7 +1154,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, query)(MYSQLND_CONN_DATA * conn, const char * } /* }}} */ - /* {{{ mysqlnd_conn_data::send_query */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, send_query)(MYSQLND_CONN_DATA * conn, const char * query, unsigned int query_len TSRMLS_DC) @@ -1199,7 +1178,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, send_query)(MYSQLND_CONN_DATA * conn, const ch } /* }}} */ - /* {{{ mysqlnd_conn_data::reap_query */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, reap_query)(MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -1226,7 +1204,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, reap_query)(MYSQLND_CONN_DATA * conn TSRMLS_DC } /* }}} */ - #include "php_network.h" /* {{{ mysqlnd_stream_array_to_fd_set */ @@ -1262,7 +1239,6 @@ MYSQLND ** mysqlnd_stream_array_check_for_readiness(MYSQLND ** conn_array TSRMLS } /* }}} */ - /* {{{ mysqlnd_stream_array_to_fd_set */ static int mysqlnd_stream_array_to_fd_set(MYSQLND ** conn_array, fd_set * fds, php_socket_t * max_fd TSRMLS_DC) { @@ -1296,7 +1272,6 @@ static int mysqlnd_stream_array_to_fd_set(MYSQLND ** conn_array, fd_set * fds, p } /* }}} */ - /* {{{ mysqlnd_stream_array_from_fd_set */ static int mysqlnd_stream_array_from_fd_set(MYSQLND ** conn_array, fd_set * fds TSRMLS_DC) { @@ -1331,14 +1306,12 @@ static int mysqlnd_stream_array_from_fd_set(MYSQLND ** conn_array, fd_set * fds } /* }}} */ - #ifndef PHP_WIN32 #define php_select(m, r, w, e, t) select(m, r, w, e, t) #else #include "win32/select.h" #endif - /* {{{ _mysqlnd_poll */ PHPAPI enum_func_status _mysqlnd_poll(MYSQLND **r_array, MYSQLND **e_array, MYSQLND ***dont_poll, long sec, long usec, int * desc_num TSRMLS_DC) @@ -1416,7 +1389,6 @@ _mysqlnd_poll(MYSQLND **r_array, MYSQLND **e_array, MYSQLND ***dont_poll, long s } /* }}} */ - /* COM_FIELD_LIST is special, different from a SHOW FIELDS FROM : - There is no result set header - status from the command, which @@ -1494,7 +1466,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, list_fields)(MYSQLND_CONN_DATA * conn, const c } /* }}} */ - /* {{{ mysqlnd_conn_data::list_method */ MYSQLND_RES * MYSQLND_METHOD(mysqlnd_conn_data, list_method)(MYSQLND_CONN_DATA * conn, const char * query, const char *achtung_wild, char *par1 TSRMLS_DC) @@ -1534,7 +1505,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, list_method)(MYSQLND_CONN_DATA * conn, const c } /* }}} */ - /* {{{ mysqlnd_conn_data::errno */ static unsigned int MYSQLND_METHOD(mysqlnd_conn_data, errno)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -1543,7 +1513,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, errno)(const MYSQLND_CONN_DATA * const conn TS } /* }}} */ - /* {{{ mysqlnd_conn_data::error */ static const char * MYSQLND_METHOD(mysqlnd_conn_data, error)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -1552,7 +1521,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, error)(const MYSQLND_CONN_DATA * const conn TS } /* }}} */ - /* {{{ mysqlnd_conn_data::sqlstate */ static const char * MYSQLND_METHOD(mysqlnd_conn_data, sqlstate)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -1561,7 +1529,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, sqlstate)(const MYSQLND_CONN_DATA * const conn } /* }}} */ - /* {{{ mysqlnd_old_escape_string */ PHPAPI ulong mysqlnd_old_escape_string(char * newstr, const char * escapestr, size_t escapestr_len TSRMLS_DC) @@ -1571,7 +1538,6 @@ mysqlnd_old_escape_string(char * newstr, const char * escapestr, size_t escapest } /* }}} */ - /* {{{ mysqlnd_conn_data::ssl_set */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, ssl_set)(MYSQLND_CONN_DATA * const conn, const char * key, const char * const cert, @@ -1595,7 +1561,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, ssl_set)(MYSQLND_CONN_DATA * const conn, const } /* }}} */ - /* {{{ mysqlnd_conn_data::escape_string */ static ulong MYSQLND_METHOD(mysqlnd_conn_data, escape_string)(MYSQLND_CONN_DATA * const conn, char * newstr, const char * escapestr, size_t escapestr_len TSRMLS_DC) @@ -1618,7 +1583,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, escape_string)(MYSQLND_CONN_DATA * const conn, } /* }}} */ - /* {{{ mysqlnd_conn_data::dump_debug_info */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, dump_debug_info)(MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -1637,7 +1601,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, dump_debug_info)(MYSQLND_CONN_DATA * const con } /* }}} */ - /* {{{ mysqlnd_conn_data::select_db */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, select_db)(MYSQLND_CONN_DATA * const conn, const char * const db, unsigned int db_len TSRMLS_DC) @@ -1673,7 +1636,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, select_db)(MYSQLND_CONN_DATA * const conn, con } /* }}} */ - /* {{{ mysqlnd_conn_data::ping */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, ping)(MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -1699,7 +1661,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, ping)(MYSQLND_CONN_DATA * const conn TSRMLS_DC } /* }}} */ - /* {{{ mysqlnd_conn_data::statistic */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, statistic)(MYSQLND_CONN_DATA * conn, char **message, unsigned int * message_len TSRMLS_DC) @@ -1738,7 +1699,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, statistic)(MYSQLND_CONN_DATA * conn, char **me } /* }}} */ - /* {{{ mysqlnd_conn_data::kill */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, kill)(MYSQLND_CONN_DATA * conn, unsigned int pid TSRMLS_DC) @@ -1772,7 +1732,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, kill)(MYSQLND_CONN_DATA * conn, unsigned int p } /* }}} */ - /* {{{ mysqlnd_conn_data::set_charset */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, set_charset)(MYSQLND_CONN_DATA * const conn, const char * const csname TSRMLS_DC) @@ -1811,7 +1770,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_charset)(MYSQLND_CONN_DATA * const conn, c } /* }}} */ - /* {{{ mysqlnd_conn_data::refresh */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, refresh)(MYSQLND_CONN_DATA * const conn, uint8_t options TSRMLS_DC) @@ -1833,7 +1791,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, refresh)(MYSQLND_CONN_DATA * const conn, uint8 } /* }}} */ - /* {{{ mysqlnd_conn_data::shutdown */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, shutdown)(MYSQLND_CONN_DATA * const conn, uint8_t level TSRMLS_DC) @@ -1855,7 +1812,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, shutdown)(MYSQLND_CONN_DATA * const conn, uint } /* }}} */ - /* {{{ mysqlnd_send_close */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, send_close)(MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -1916,7 +1872,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, send_close)(MYSQLND_CONN_DATA * const conn TSR } /* }}} */ - /* {{{ mysqlnd_conn_data::get_reference */ static MYSQLND_CONN_DATA * MYSQLND_METHOD_PRIVATE(mysqlnd_conn_data, get_reference)(MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -1928,7 +1883,6 @@ MYSQLND_METHOD_PRIVATE(mysqlnd_conn_data, get_reference)(MYSQLND_CONN_DATA * con } /* }}} */ - /* {{{ mysqlnd_conn_data::free_reference */ static enum_func_status MYSQLND_METHOD_PRIVATE(mysqlnd_conn_data, free_reference)(MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -1949,7 +1903,6 @@ MYSQLND_METHOD_PRIVATE(mysqlnd_conn_data, free_reference)(MYSQLND_CONN_DATA * co } /* }}} */ - /* {{{ mysqlnd_conn_data::get_state */ static enum mysqlnd_connection_state MYSQLND_METHOD_PRIVATE(mysqlnd_conn_data, get_state)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -1959,7 +1912,6 @@ MYSQLND_METHOD_PRIVATE(mysqlnd_conn_data, get_state)(const MYSQLND_CONN_DATA * c } /* }}} */ - /* {{{ mysqlnd_conn_data::set_state */ static void MYSQLND_METHOD_PRIVATE(mysqlnd_conn_data, set_state)(MYSQLND_CONN_DATA * const conn, enum mysqlnd_connection_state new_state TSRMLS_DC) @@ -1971,7 +1923,6 @@ MYSQLND_METHOD_PRIVATE(mysqlnd_conn_data, set_state)(MYSQLND_CONN_DATA * const c } /* }}} */ - /* {{{ mysqlnd_conn_data::field_count */ static unsigned int MYSQLND_METHOD(mysqlnd_conn_data, field_count)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -1980,7 +1931,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, field_count)(const MYSQLND_CONN_DATA * const c } /* }}} */ - /* {{{ mysqlnd_conn_data::server_status */ static unsigned int MYSQLND_METHOD(mysqlnd_conn_data, server_status)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -1989,7 +1939,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, server_status)(const MYSQLND_CONN_DATA * const } /* }}} */ - /* {{{ mysqlnd_conn_data::insert_id */ static uint64_t MYSQLND_METHOD(mysqlnd_conn_data, insert_id)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -1998,7 +1947,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, insert_id)(const MYSQLND_CONN_DATA * const con } /* }}} */ - /* {{{ mysqlnd_conn_data::affected_rows */ static uint64_t MYSQLND_METHOD(mysqlnd_conn_data, affected_rows)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -2007,7 +1955,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, affected_rows)(const MYSQLND_CONN_DATA * const } /* }}} */ - /* {{{ mysqlnd_conn_data::warning_count */ static unsigned int MYSQLND_METHOD(mysqlnd_conn_data, warning_count)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -2016,7 +1963,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, warning_count)(const MYSQLND_CONN_DATA * const } /* }}} */ - /* {{{ mysqlnd_conn_data::info */ static const char * MYSQLND_METHOD(mysqlnd_conn_data, info)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -2032,7 +1978,6 @@ PHPAPI const char * mysqlnd_get_client_info() } /* }}} */ - /* {{{ mysqlnd_get_client_version */ PHPAPI unsigned int mysqlnd_get_client_version() { @@ -2040,7 +1985,6 @@ PHPAPI unsigned int mysqlnd_get_client_version() } /* }}} */ - /* {{{ mysqlnd_conn_data::get_server_info */ static const char * MYSQLND_METHOD(mysqlnd_conn_data, get_server_info)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -2049,7 +1993,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, get_server_info)(const MYSQLND_CONN_DATA * con } /* }}} */ - /* {{{ mysqlnd_conn_data::get_host_info */ static const char * MYSQLND_METHOD(mysqlnd_conn_data, get_host_info)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -2058,7 +2001,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, get_host_info)(const MYSQLND_CONN_DATA * const } /* }}} */ - /* {{{ mysqlnd_conn_data::get_proto_info */ static unsigned int MYSQLND_METHOD(mysqlnd_conn_data, get_proto_info)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -2067,7 +2009,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, get_proto_info)(const MYSQLND_CONN_DATA * cons } /* }}} */ - /* {{{ mysqlnd_conn_data::charset_name */ static const char * MYSQLND_METHOD(mysqlnd_conn_data, charset_name)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -2076,7 +2017,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, charset_name)(const MYSQLND_CONN_DATA * const } /* }}} */ - /* {{{ mysqlnd_conn_data::thread_id */ static uint64_t MYSQLND_METHOD(mysqlnd_conn_data, thread_id)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -2085,7 +2025,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, thread_id)(const MYSQLND_CONN_DATA * const con } /* }}} */ - /* {{{ mysqlnd_conn_data::get_server_version */ static unsigned long MYSQLND_METHOD(mysqlnd_conn_data, get_server_version)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -2107,7 +2046,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, get_server_version)(const MYSQLND_CONN_DATA * } /* }}} */ - /* {{{ mysqlnd_conn_data::more_results */ static zend_bool MYSQLND_METHOD(mysqlnd_conn_data, more_results)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -2118,7 +2056,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, more_results)(const MYSQLND_CONN_DATA * const } /* }}} */ - /* {{{ mysqlnd_conn_data::next_result */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, next_result)(MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -2167,7 +2104,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, next_result)(MYSQLND_CONN_DATA * const conn TS } /* }}} */ - /* {{{ mysqlnd_field_type_name */ PHPAPI const char *mysqlnd_field_type_name(enum mysqlnd_field_types field_type) { @@ -2218,7 +2154,6 @@ PHPAPI const char *mysqlnd_field_type_name(enum mysqlnd_field_types field_type) } /* }}} */ - /* {{{ mysqlnd_conn_data::change_user */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, change_user)(MYSQLND_CONN_DATA * const conn, @@ -2269,7 +2204,6 @@ end: } /* }}} */ - /* {{{ mysqlnd_conn_data::set_client_option */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, set_client_option)(MYSQLND_CONN_DATA * const conn, @@ -2416,7 +2350,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_client_option)(MYSQLND_CONN_DATA * const c case MYSQL_OPT_CONNECT_ATTR_DELETE: if (conn->options->connect_attr && value) { DBG_INF_FMT("Before delete %d attribute(s)", zend_hash_num_elements(conn->options->connect_attr)); - zend_hash_del(conn->options->connect_attr, value, strlen(value)); + zend_hash_str_del(conn->options->connect_attr, value, strlen(value)); DBG_INF_FMT("%d left", zend_hash_num_elements(conn->options->connect_attr)); } break; @@ -2439,35 +2373,32 @@ end: } /* }}} */ - /* {{{ connect_attr_item_edtor */ static void -connect_attr_item_edtor(void * pDest) +connect_attr_item_edtor(zval *pDest) { #ifdef ZTS TSRMLS_FETCH(); #endif DBG_ENTER("connect_attr_item_edtor"); - mnd_efree(*(char **) pDest); + mnd_efree(Z_PTR_P(pDest)); DBG_VOID_RETURN; } /* }}} */ - /* {{{ connect_attr_item_pdtor */ static void -connect_attr_item_pdtor(void * pDest) +connect_attr_item_pdtor(zval * pDest) { #ifdef ZTS TSRMLS_FETCH(); #endif DBG_ENTER("connect_attr_item_pdtor"); - mnd_pefree(*(char **) pDest, 1); + mnd_pefree(Z_PTR_P(pDest), 1); DBG_VOID_RETURN; } /* }}} */ - /* {{{ mysqlnd_conn_data::set_client_option_2d */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, set_client_option_2d)(MYSQLND_CONN_DATA * const conn, @@ -2496,11 +2427,11 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_client_option_2d)(MYSQLND_CONN_DATA * cons } DBG_INF_FMT("Adding [%s][%s]", key, value); { - const char * copyv = mnd_pestrdup(value, conn->persistent); + char * copyv = mnd_pestrdup(value, conn->persistent); if (!copyv) { goto oom; } - zend_hash_update(conn->options->connect_attr, key, strlen(key), ©v, sizeof(char *), NULL); + zend_hash_str_update_ptr(conn->options->connect_attr, key, strlen(key), copyv); } break; default: @@ -2516,7 +2447,6 @@ end: } /* }}} */ - /* {{{ mysqlnd_conn_data::use_result */ static MYSQLND_RES * MYSQLND_METHOD(mysqlnd_conn_data, use_result)(MYSQLND_CONN_DATA * const conn, const unsigned int flags TSRMLS_DC) @@ -2558,7 +2488,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, use_result)(MYSQLND_CONN_DATA * const conn, co } /* }}} */ - /* {{{ mysqlnd_conn_data::store_result */ static MYSQLND_RES * MYSQLND_METHOD(mysqlnd_conn_data, store_result)(MYSQLND_CONN_DATA * const conn, const unsigned int flags TSRMLS_DC) @@ -2615,7 +2544,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, store_result)(MYSQLND_CONN_DATA * const conn, } /* }}} */ - /* {{{ mysqlnd_conn_data::get_connection_stats */ static void MYSQLND_METHOD(mysqlnd_conn_data, get_connection_stats)(const MYSQLND_CONN_DATA * const conn, @@ -2627,7 +2555,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, get_connection_stats)(const MYSQLND_CONN_DATA } /* }}} */ - /* {{{ mysqlnd_conn_data::set_autocommit */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, set_autocommit)(MYSQLND_CONN_DATA * conn, unsigned int mode TSRMLS_DC) @@ -2645,7 +2572,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_autocommit)(MYSQLND_CONN_DATA * conn, unsi } /* }}} */ - /* {{{ mysqlnd_conn_data::tx_commit */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, tx_commit)(MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -2654,7 +2580,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_commit)(MYSQLND_CONN_DATA * conn TSRMLS_DC) } /* }}} */ - /* {{{ mysqlnd_conn_data::tx_rollback */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, tx_rollback)(MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -2663,30 +2588,29 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_rollback)(MYSQLND_CONN_DATA * conn TSRMLS_D } /* }}} */ - /* {{{ mysqlnd_tx_cor_options_to_string */ static void MYSQLND_METHOD(mysqlnd_conn_data, tx_cor_options_to_string)(const MYSQLND_CONN_DATA * const conn, smart_str * str, const unsigned int mode TSRMLS_DC) { if (mode & TRANS_COR_AND_CHAIN && !(mode & TRANS_COR_AND_NO_CHAIN)) { - if (str->len) { + if (str->s && str->s->len) { smart_str_appendl(str, " ", sizeof(" ") - 1); } smart_str_appendl(str, "AND CHAIN", sizeof("AND CHAIN") - 1); } else if (mode & TRANS_COR_AND_NO_CHAIN && !(mode & TRANS_COR_AND_CHAIN)) { - if (str->len) { + if (str->s && str->s->len) { smart_str_appendl(str, " ", sizeof(" ") - 1); } smart_str_appendl(str, "AND NO CHAIN", sizeof("AND NO CHAIN") - 1); } if (mode & TRANS_COR_RELEASE && !(mode & TRANS_COR_NO_RELEASE)) { - if (str->len) { + if (str->s && str->s->len) { smart_str_appendl(str, " ", sizeof(" ") - 1); } smart_str_appendl(str, "RELEASE", sizeof("RELEASE") - 1); } else if (mode & TRANS_COR_NO_RELEASE && !(mode & TRANS_COR_RELEASE)) { - if (str->len) { + if (str->s && str->s->len) { smart_str_appendl(str, " ", sizeof(" ") - 1); } smart_str_appendl(str, "NO RELEASE", sizeof("NO RELEASE") - 1); @@ -2695,7 +2619,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_cor_options_to_string)(const MYSQLND_CONN_D } /* }}} */ - /* {{{ mysqlnd_escape_string_for_tx_name_in_comment */ static char * mysqlnd_escape_string_for_tx_name_in_comment(const char * const name TSRMLS_DC) @@ -2738,7 +2661,6 @@ mysqlnd_escape_string_for_tx_name_in_comment(const char * const name TSRMLS_DC) } /* }}} */ - /* {{{ mysqlnd_conn_data::tx_commit_ex */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, tx_commit_or_rollback)(MYSQLND_CONN_DATA * conn, const zend_bool commit, const unsigned int flags, const char * const name TSRMLS_DC) @@ -2749,18 +2671,17 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_commit_or_rollback)(MYSQLND_CONN_DATA * con if (PASS == conn->m->local_tx_start(conn, this_func TSRMLS_CC)) { do { - smart_str tmp_str = {0, 0, 0}; + smart_str tmp_str = {0}; conn->m->tx_cor_options_to_string(conn, &tmp_str, flags TSRMLS_CC); smart_str_0(&tmp_str); - { char * query; size_t query_len; char * name_esc = mysqlnd_escape_string_for_tx_name_in_comment(name TSRMLS_CC); query_len = mnd_sprintf(&query, 0, (commit? "COMMIT%s %s":"ROLLBACK%s %s"), - name_esc? name_esc:"", tmp_str.c? tmp_str.c:""); + name_esc? name_esc:"", tmp_str.s? tmp_str.s->val:""); smart_str_free(&tmp_str); if (name_esc) { mnd_efree(name_esc); @@ -2782,7 +2703,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_commit_or_rollback)(MYSQLND_CONN_DATA * con } /* }}} */ - /* {{{ mysqlnd_conn_data::tx_begin */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, tx_begin)(MYSQLND_CONN_DATA * conn, const unsigned int mode, const char * const name TSRMLS_DC) @@ -2793,9 +2713,9 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_begin)(MYSQLND_CONN_DATA * conn, const unsi if (PASS == conn->m->local_tx_start(conn, this_func TSRMLS_CC)) { do { - smart_str tmp_str = {0, 0, 0}; + smart_str tmp_str = {0}; if (mode & TRANS_START_WITH_CONSISTENT_SNAPSHOT) { - if (tmp_str.len) { + if (tmp_str.s && tmp_str.s->len) { smart_str_appendl(&tmp_str, ", ", sizeof(", ") - 1); } smart_str_appendl(&tmp_str, "WITH CONSISTENT SNAPSHOT", sizeof("WITH CONSISTENT SNAPSHOT") - 1); @@ -2807,12 +2727,12 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_begin)(MYSQLND_CONN_DATA * conn, const unsi smart_str_free(&tmp_str); break; } else if (mode & TRANS_START_READ_WRITE) { - if (tmp_str.len) { + if (tmp_str.s && tmp_str.s->len) { smart_str_appendl(&tmp_str, ", ", sizeof(", ") - 1); } smart_str_appendl(&tmp_str, "READ WRITE", sizeof("READ WRITE") - 1); } else if (mode & TRANS_START_READ_ONLY) { - if (tmp_str.len) { + if (tmp_str.s && tmp_str.s->len) { smart_str_appendl(&tmp_str, ", ", sizeof(", ") - 1); } smart_str_appendl(&tmp_str, "READ ONLY", sizeof("READ ONLY") - 1); @@ -2823,7 +2743,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_begin)(MYSQLND_CONN_DATA * conn, const unsi { char * name_esc = mysqlnd_escape_string_for_tx_name_in_comment(name TSRMLS_CC); char * query; - unsigned int query_len = mnd_sprintf(&query, 0, "START TRANSACTION%s %s", name_esc? name_esc:"", tmp_str.c? tmp_str.c:""); + unsigned int query_len = mnd_sprintf(&query, 0, "START TRANSACTION%s %s", name_esc? name_esc:"", tmp_str.s? tmp_str.s->val:""); smart_str_free(&tmp_str); if (name_esc) { mnd_efree(name_esc); @@ -2844,7 +2764,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_begin)(MYSQLND_CONN_DATA * conn, const unsi } /* }}} */ - /* {{{ mysqlnd_conn_data::tx_savepoint */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, tx_savepoint)(MYSQLND_CONN_DATA * conn, const char * const name TSRMLS_DC) @@ -2876,7 +2795,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_savepoint)(MYSQLND_CONN_DATA * conn, const } /* }}} */ - /* {{{ mysqlnd_conn_data::tx_savepoint_release */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, tx_savepoint_release)(MYSQLND_CONN_DATA * conn, const char * const name TSRMLS_DC) @@ -2908,7 +2826,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_savepoint_release)(MYSQLND_CONN_DATA * conn } /* }}} */ - /* {{{ mysqlnd_conn_data::negotiate_client_api_capabilities */ static unsigned int MYSQLND_METHOD(mysqlnd_conn_data, negotiate_client_api_capabilities)(MYSQLND_CONN_DATA * const conn, const unsigned int flags TSRMLS_DC) @@ -2924,7 +2841,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, negotiate_client_api_capabilities)(MYSQLND_CON } /* }}} */ - /* {{{ mysqlnd_conn_data::get_client_api_capabilities */ static unsigned int MYSQLND_METHOD(mysqlnd_conn_data, get_client_api_capabilities)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC) @@ -2934,7 +2850,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, get_client_api_capabilities)(const MYSQLND_CON } /* }}} */ - /* {{{ mysqlnd_conn_data::local_tx_start */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, local_tx_start)(MYSQLND_CONN_DATA * conn, size_t this_func TSRMLS_DC) @@ -2945,7 +2860,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, local_tx_start)(MYSQLND_CONN_DATA * conn, size } /* }}} */ - /* {{{ mysqlnd_conn_data::local_tx_end */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, local_tx_end)(MYSQLND_CONN_DATA * conn, size_t this_func, enum_func_status status TSRMLS_DC) @@ -2955,7 +2869,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, local_tx_end)(MYSQLND_CONN_DATA * conn, size_t } /* }}} */ - /* {{{ mysqlnd_conn_data::init */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn_data, init)(MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -2971,10 +2884,8 @@ MYSQLND_METHOD(mysqlnd_conn_data, init)(MYSQLND_CONN_DATA * conn TSRMLS_DC) } /* }}} */ - MYSQLND_STMT * _mysqlnd_stmt_init(MYSQLND_CONN_DATA * const conn TSRMLS_DC); - MYSQLND_CLASS_METHODS_START(mysqlnd_conn_data) MYSQLND_METHOD(mysqlnd_conn_data, init), MYSQLND_METHOD(mysqlnd_conn_data, connect), @@ -3069,7 +2980,6 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_conn_data) MYSQLND_METHOD(mysqlnd_conn_data, get_client_api_capabilities) MYSQLND_CLASS_METHODS_END; - /* {{{ mysqlnd_conn::get_reference */ static MYSQLND * MYSQLND_METHOD(mysqlnd_conn, clone_object)(MYSQLND * const conn TSRMLS_DC) @@ -3081,7 +2991,6 @@ MYSQLND_METHOD(mysqlnd_conn, clone_object)(MYSQLND * const conn TSRMLS_DC) } /* }}} */ - /* {{{ mysqlnd_conn_data::dtor */ static void MYSQLND_METHOD_PRIVATE(mysqlnd_conn, dtor)(MYSQLND * conn TSRMLS_DC) @@ -3097,7 +3006,6 @@ MYSQLND_METHOD_PRIVATE(mysqlnd_conn, dtor)(MYSQLND * conn TSRMLS_DC) } /* }}} */ - /* {{{ mysqlnd_conn_data::close */ static enum_func_status MYSQLND_METHOD(mysqlnd_conn, close)(MYSQLND * conn_handle, enum_connection_close_type close_type TSRMLS_DC) @@ -3134,7 +3042,6 @@ MYSQLND_METHOD(mysqlnd_conn, close)(MYSQLND * conn_handle, enum_connection_close } /* }}} */ - MYSQLND_CLASS_METHODS_START(mysqlnd_conn) MYSQLND_METHOD(mysqlnd_conn, connect), MYSQLND_METHOD(mysqlnd_conn, clone_object), @@ -3142,7 +3049,6 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_conn) MYSQLND_METHOD(mysqlnd_conn, close) MYSQLND_CLASS_METHODS_END; - /* {{{ _mysqlnd_init */ PHPAPI MYSQLND * _mysqlnd_init(unsigned int flags, zend_bool persistent TSRMLS_DC) diff --git a/ext/mysqlnd/mysqlnd_alloc.c b/ext/mysqlnd/mysqlnd_alloc.c index 42ce55a36a..e033eb78e7 100644 --- a/ext/mysqlnd/mysqlnd_alloc.c +++ b/ext/mysqlnd/mysqlnd_alloc.c @@ -62,7 +62,6 @@ PHPAPI const char * mysqlnd_debug_std_no_trace_funcs[] = NULL /* must be always last */ }; - #if ZEND_DEBUG #else #define __zend_orig_filename "/unknown/unknown" @@ -112,7 +111,6 @@ void * _mysqlnd_emalloc(size_t size MYSQLND_MEM_D) } /* }}} */ - /* {{{ _mysqlnd_pemalloc */ void * _mysqlnd_pemalloc(size_t size, zend_bool persistent MYSQLND_MEM_D) { @@ -155,7 +153,6 @@ void * _mysqlnd_pemalloc(size_t size, zend_bool persistent MYSQLND_MEM_D) } /* }}} */ - /* {{{ _mysqlnd_ecalloc */ void * _mysqlnd_ecalloc(unsigned int nmemb, size_t size MYSQLND_MEM_D) { @@ -196,7 +193,6 @@ void * _mysqlnd_ecalloc(unsigned int nmemb, size_t size MYSQLND_MEM_D) } /* }}} */ - /* {{{ _mysqlnd_pecalloc */ void * _mysqlnd_pecalloc(unsigned int nmemb, size_t size, zend_bool persistent MYSQLND_MEM_D) { @@ -238,7 +234,6 @@ void * _mysqlnd_pecalloc(unsigned int nmemb, size_t size, zend_bool persistent M } /* }}} */ - /* {{{ _mysqlnd_erealloc */ void * _mysqlnd_erealloc(void *ptr, size_t new_size MYSQLND_MEM_D) { @@ -279,7 +274,6 @@ void * _mysqlnd_erealloc(void *ptr, size_t new_size MYSQLND_MEM_D) } /* }}} */ - /* {{{ _mysqlnd_perealloc */ void * _mysqlnd_perealloc(void *ptr, size_t new_size, zend_bool persistent MYSQLND_MEM_D) { @@ -323,7 +317,6 @@ void * _mysqlnd_perealloc(void *ptr, size_t new_size, zend_bool persistent MYSQL } /* }}} */ - /* {{{ _mysqlnd_efree */ void _mysqlnd_efree(void *ptr MYSQLND_MEM_D) { @@ -354,7 +347,6 @@ void _mysqlnd_efree(void *ptr MYSQLND_MEM_D) } /* }}} */ - /* {{{ _mysqlnd_pefree */ void _mysqlnd_pefree(void *ptr, zend_bool persistent MYSQLND_MEM_D) { @@ -386,7 +378,6 @@ void _mysqlnd_pefree(void *ptr, zend_bool persistent MYSQLND_MEM_D) } /* }}} */ - /* {{{ _mysqlnd_malloc */ void * _mysqlnd_malloc(size_t size MYSQLND_MEM_D) { @@ -425,7 +416,6 @@ void * _mysqlnd_malloc(size_t size MYSQLND_MEM_D) } /* }}} */ - /* {{{ _mysqlnd_calloc */ void * _mysqlnd_calloc(unsigned int nmemb, size_t size MYSQLND_MEM_D) { @@ -464,7 +454,6 @@ void * _mysqlnd_calloc(unsigned int nmemb, size_t size MYSQLND_MEM_D) } /* }}} */ - /* {{{ _mysqlnd_realloc */ void * _mysqlnd_realloc(void *ptr, size_t new_size MYSQLND_MEM_D) { @@ -506,7 +495,6 @@ void * _mysqlnd_realloc(void *ptr, size_t new_size MYSQLND_MEM_D) } /* }}} */ - /* {{{ _mysqlnd_free */ void _mysqlnd_free(void *ptr MYSQLND_MEM_D) { @@ -541,7 +529,6 @@ void _mysqlnd_free(void *ptr MYSQLND_MEM_D) #define SMART_STR_PREALLOC 512 #include "ext/standard/php_smart_str.h" - /* {{{ _mysqlnd_pestrndup */ char * _mysqlnd_pestrndup(const char * const ptr, size_t length, zend_bool persistent MYSQLND_MEM_D) { @@ -577,12 +564,11 @@ char * _mysqlnd_pestrndup(const char * const ptr, size_t length, zend_bool persi } /* }}} */ - /* {{{ _mysqlnd_pestrdup */ char * _mysqlnd_pestrdup(const char * const ptr, zend_bool persistent MYSQLND_MEM_D) { char * ret; - smart_str tmp_str = {0, 0, 0}; + smart_str tmp_str = {0}; const char * p = ptr; zend_bool collect_memory_statistics = MYSQLND_G(collect_memory_statistics); TRACE_ALLOC_ENTER(mysqlnd_pestrdup_name); @@ -597,11 +583,11 @@ char * _mysqlnd_pestrdup(const char * const ptr, zend_bool persistent MYSQLND_ME smart_str_appendc(&tmp_str, *p); } while (*p++); - ret = (persistent) ? __zend_malloc(tmp_str.len + sizeof(size_t)) : _emalloc(REAL_SIZE(tmp_str.len + sizeof(size_t)) ZEND_FILE_LINE_CC ZEND_FILE_LINE_ORIG_RELAY_CC); - memcpy(FAKE_PTR(ret), tmp_str.c, tmp_str.len); + ret = (persistent) ? __zend_malloc(tmp_str.s->len + sizeof(size_t)) : _emalloc(REAL_SIZE(tmp_str.s->len + sizeof(size_t)) ZEND_FILE_LINE_CC ZEND_FILE_LINE_ORIG_RELAY_CC); + memcpy(FAKE_PTR(ret), tmp_str.s->val, tmp_str.s->len); if (ret && collect_memory_statistics) { - *(size_t *) ret = tmp_str.len; + *(size_t *) ret = tmp_str.s->len; MYSQLND_INC_GLOBAL_STATISTIC(persistent? STAT_MEM_STRDUP_COUNT : STAT_MEM_ESTRDUP_COUNT); } smart_str_free(&tmp_str); @@ -610,7 +596,6 @@ char * _mysqlnd_pestrdup(const char * const ptr, zend_bool persistent MYSQLND_ME } /* }}} */ - /* {{{ _mysqlnd_sprintf */ PHPAPI int _mysqlnd_sprintf(char ** pbuf, size_t max_len, const char *format, ...) { @@ -623,7 +608,6 @@ PHPAPI int _mysqlnd_sprintf(char ** pbuf, size_t max_len, const char *format, .. } /* }}} */ - /* {{{ _mysqlnd_sprintf_free */ PHPAPI void _mysqlnd_sprintf_free(char * p) { @@ -638,7 +622,6 @@ PHPAPI int _mysqlnd_vsprintf(char ** pbuf, size_t max_len, const char * format, } /* }}} */ - #define MYSQLND_DEBUG_MEMORY 1 #if MYSQLND_DEBUG_MEMORY == 0 @@ -650,7 +633,6 @@ static void * mysqlnd_zend_mm_emalloc(size_t size MYSQLND_MEM_D) } /* }}} */ - /* {{{ mysqlnd_zend_mm_pemalloc */ static void * mysqlnd_zend_mm_pemalloc(size_t size, zend_bool persistent MYSQLND_MEM_D) { @@ -658,7 +640,6 @@ static void * mysqlnd_zend_mm_pemalloc(size_t size, zend_bool persistent MYSQLND } /* }}} */ - /* {{{ mysqlnd_zend_mm_ecalloc */ static void * mysqlnd_zend_mm_ecalloc(unsigned int nmemb, size_t size MYSQLND_MEM_D) { @@ -666,7 +647,6 @@ static void * mysqlnd_zend_mm_ecalloc(unsigned int nmemb, size_t size MYSQLND_ME } /* }}} */ - /* {{{ mysqlnd_zend_mm_pecalloc */ static void * mysqlnd_zend_mm_pecalloc(unsigned int nmemb, size_t size, zend_bool persistent MYSQLND_MEM_D) { @@ -674,7 +654,6 @@ static void * mysqlnd_zend_mm_pecalloc(unsigned int nmemb, size_t size, zend_boo } /* }}} */ - /* {{{ mysqlnd_zend_mm_erealloc */ static void * mysqlnd_zend_mm_erealloc(void *ptr, size_t new_size MYSQLND_MEM_D) { @@ -682,7 +661,6 @@ static void * mysqlnd_zend_mm_erealloc(void *ptr, size_t new_size MYSQLND_MEM_D) } /* }}} */ - /* {{{ mysqlnd_zend_mm_perealloc */ static void * mysqlnd_zend_mm_perealloc(void *ptr, size_t new_size, zend_bool persistent MYSQLND_MEM_D) { @@ -690,7 +668,6 @@ static void * mysqlnd_zend_mm_perealloc(void *ptr, size_t new_size, zend_bool pe } /* }}} */ - /* {{{ mysqlnd_zend_mm_efree */ static void mysqlnd_zend_mm_efree(void * ptr MYSQLND_MEM_D) { @@ -698,7 +675,6 @@ static void mysqlnd_zend_mm_efree(void * ptr MYSQLND_MEM_D) } /* }}} */ - /* {{{ mysqlnd_zend_mm_pefree */ static void mysqlnd_zend_mm_pefree(void * ptr, zend_bool persistent MYSQLND_MEM_D) { @@ -706,7 +682,6 @@ static void mysqlnd_zend_mm_pefree(void * ptr, zend_bool persistent MYSQLND_MEM_ } /* }}} */ - /* {{{ mysqlnd_zend_mm_malloc */ static void * mysqlnd_zend_mm_malloc(size_t size MYSQLND_MEM_D) { @@ -714,7 +689,6 @@ static void * mysqlnd_zend_mm_malloc(size_t size MYSQLND_MEM_D) } /* }}} */ - /* {{{ mysqlnd_zend_mm_calloc */ static void * mysqlnd_zend_mm_calloc(unsigned int nmemb, size_t size MYSQLND_MEM_D) { @@ -722,7 +696,6 @@ static void * mysqlnd_zend_mm_calloc(unsigned int nmemb, size_t size MYSQLND_MEM } /* }}} */ - /* {{{ mysqlnd_zend_mm_realloc */ static void * mysqlnd_zend_mm_realloc(void * ptr, size_t new_size MYSQLND_MEM_D) { @@ -730,7 +703,6 @@ static void * mysqlnd_zend_mm_realloc(void * ptr, size_t new_size MYSQLND_MEM_D) } /* }}} */ - /* {{{ mysqlnd_zend_mm_free */ static void mysqlnd_zend_mm_free(void * ptr MYSQLND_MEM_D) { @@ -738,7 +710,6 @@ static void mysqlnd_zend_mm_free(void * ptr MYSQLND_MEM_D) } /* }}} */ - /* {{{ mysqlnd_zend_mm_pestrndup */ static char * mysqlnd_zend_mm_pestrndup(const char * const ptr, size_t length, zend_bool persistent MYSQLND_MEM_D) { @@ -746,7 +717,6 @@ static char * mysqlnd_zend_mm_pestrndup(const char * const ptr, size_t length, z } /* }}} */ - /* {{{ mysqlnd_zend_mm_pestrdup */ static char * mysqlnd_zend_mm_pestrdup(const char * const ptr, zend_bool persistent MYSQLND_MEM_D) { @@ -756,7 +726,6 @@ static char * mysqlnd_zend_mm_pestrdup(const char * const ptr, zend_bool persist #endif - PHPAPI struct st_mysqlnd_allocator_methods mysqlnd_allocator = { #if MYSQLND_DEBUG_MEMORY @@ -797,7 +766,6 @@ PHPAPI struct st_mysqlnd_allocator_methods mysqlnd_allocator = #endif }; - /* * Local variables: * tab-width: 4 diff --git a/ext/mysqlnd/mysqlnd_bt.c b/ext/mysqlnd/mysqlnd_bt.c index a93af6b395..27301f5a50 100644 --- a/ext/mysqlnd/mysqlnd_bt.c +++ b/ext/mysqlnd/mysqlnd_bt.c @@ -42,15 +42,14 @@ TRACE_APPEND_STRL(val, sizeof(val)-1) #define TRACE_APPEND_KEY(key) \ - if (zend_hash_find(ht, key, sizeof(key), (void**)&tmp) == SUCCESS) { \ - TRACE_APPEND_STRL(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp)); \ + if ((tmp = zend_hash_str_find(ht, key, sizeof(key) - 1)) != NULL) { \ + TRACE_APPEND_STRL(Z_STRVAL_P(tmp), Z_STRLEN_P(tmp)); \ } /* }}} */ - static int -mysqlnd_build_trace_args(zval **arg TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key) /* {{{ */ +mysqlnd_build_trace_args(zval *arg TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key) /* {{{ */ { char **str; int *len; @@ -64,20 +63,20 @@ mysqlnd_build_trace_args(zval **arg TSRMLS_DC, int num_args, va_list args, zend_ * but that could cause some E_NOTICE and also damn long lines. */ - switch (Z_TYPE_PP(arg)) { + switch (Z_TYPE_P(arg)) { case IS_NULL: TRACE_APPEND_STR("NULL, "); break; case IS_STRING: { int l_added; TRACE_APPEND_CHR('\''); - if (Z_STRLEN_PP(arg) > 15) { - TRACE_APPEND_STRL(Z_STRVAL_PP(arg), 15); + if (Z_STRLEN_P(arg) > 15) { + TRACE_APPEND_STRL(Z_STRVAL_P(arg), 15); TRACE_APPEND_STR("...', "); l_added = 15 + 6 + 1; /* +1 because of while (--l_added) */ } else { - l_added = Z_STRLEN_PP(arg); - TRACE_APPEND_STRL(Z_STRVAL_PP(arg), l_added); + l_added = Z_STRLEN_P(arg); + TRACE_APPEND_STRL(Z_STRVAL_P(arg), l_added); TRACE_APPEND_STR("', "); l_added += 3 + 1; } @@ -88,18 +87,17 @@ mysqlnd_build_trace_args(zval **arg TSRMLS_DC, int num_args, va_list args, zend_ } break; } - case IS_BOOL: - if (Z_LVAL_PP(arg)) { - TRACE_APPEND_STR("true, "); - } else { - TRACE_APPEND_STR("false, "); - } + case IS_FALSE: + TRACE_APPEND_STR("false, "); + break; + case IS_TRUE: + TRACE_APPEND_STR("true, "); break; case IS_RESOURCE: TRACE_APPEND_STR("Resource id #"); /* break; */ case IS_LONG: { - long lval = Z_LVAL_PP(arg); + long lval = Z_LVAL_P(arg); char s_tmp[MAX_LENGTH_OF_LONG + 1]; int l_tmp = zend_sprintf(s_tmp, "%ld", lval); /* SAFE */ TRACE_APPEND_STRL(s_tmp, l_tmp); @@ -107,7 +105,7 @@ mysqlnd_build_trace_args(zval **arg TSRMLS_DC, int num_args, va_list args, zend_ break; } case IS_DOUBLE: { - double dval = Z_DVAL_PP(arg); + double dval = Z_DVAL_P(arg); char *s_tmp; int l_tmp; @@ -123,18 +121,13 @@ mysqlnd_build_trace_args(zval **arg TSRMLS_DC, int num_args, va_list args, zend_ TRACE_APPEND_STR("Array, "); break; case IS_OBJECT: { - char *class_name; - zend_uint class_name_len; - int dupl; + zend_string *class_name; TRACE_APPEND_STR("Object("); - dupl = zend_get_object_classname(*arg, (const char **)&class_name, &class_name_len TSRMLS_CC); + class_name = zend_get_object_classname(Z_OBJ_P(arg) TSRMLS_CC); - TRACE_APPEND_STRL(class_name, class_name_len); - if (!dupl) { - efree(class_name); - } + TRACE_APPEND_STRL(class_name->val, class_name->len); TRACE_APPEND_STR("), "); break; @@ -147,13 +140,13 @@ mysqlnd_build_trace_args(zval **arg TSRMLS_DC, int num_args, va_list args, zend_ /* }}} */ static int -mysqlnd_build_trace_string(zval **frame TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key) /* {{{ */ +mysqlnd_build_trace_string(zval *frame TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key) /* {{{ */ { char *s_tmp, **str; int *len, *num; long line; - HashTable *ht = Z_ARRVAL_PP(frame); - zval **file, **tmp; + HashTable *ht = Z_ARRVAL_P(frame); + zval *file, *tmp; uint * level; level = va_arg(args, uint *); @@ -170,14 +163,14 @@ mysqlnd_build_trace_string(zval **frame TSRMLS_DC, int num_args, va_list args, z sprintf(s_tmp, "#%d ", (*num)++); TRACE_APPEND_STRL(s_tmp, strlen(s_tmp)); efree(s_tmp); - if (zend_hash_find(ht, "file", sizeof("file"), (void**)&file) == SUCCESS) { - if (zend_hash_find(ht, "line", sizeof("line"), (void**)&tmp) == SUCCESS) { - line = Z_LVAL_PP(tmp); + if ((file = zend_hash_str_find(ht, "file", sizeof("file") - 1)) != NULL) { + if ((tmp = zend_hash_str_find(ht, "line", sizeof("line") - 1)) != NULL) { + line = Z_LVAL_P(tmp); } else { line = 0; } - s_tmp = emalloc(Z_STRLEN_PP(file) + MAX_LENGTH_OF_LONG + 4 + 1); - sprintf(s_tmp, "%s(%ld): ", Z_STRVAL_PP(file), line); + s_tmp = emalloc(Z_STRLEN_P(file) + MAX_LENGTH_OF_LONG + 4 + 1); + sprintf(s_tmp, "%s(%ld): ", Z_STRVAL_P(file), line); TRACE_APPEND_STRL(s_tmp, strlen(s_tmp)); efree(s_tmp); } else { @@ -187,9 +180,9 @@ mysqlnd_build_trace_string(zval **frame TSRMLS_DC, int num_args, va_list args, z TRACE_APPEND_KEY("type"); TRACE_APPEND_KEY("function"); TRACE_APPEND_CHR('('); - if (zend_hash_find(ht, "args", sizeof("args"), (void**)&tmp) == SUCCESS) { + if ((tmp = zend_hash_str_find(ht, "args", sizeof("args") - 1)) != NULL) { int last_len = *len; - zend_hash_apply_with_arguments(Z_ARRVAL_PP(tmp) TSRMLS_CC, (apply_func_args_t)mysqlnd_build_trace_args, 2, str, len); + zend_hash_apply_with_arguments(Z_ARRVAL_P(tmp) TSRMLS_CC, mysqlnd_build_trace_args, 2, str, len); if (last_len != *len) { *len -= 2; /* remove last ', ' */ } @@ -199,21 +192,19 @@ mysqlnd_build_trace_string(zval **frame TSRMLS_DC, int num_args, va_list args, z } /* }}} */ - PHPAPI char * -mysqlnd_get_backtrace(uint max_levels, size_t * length TSRMLS_DC) +mysqlnd_get_backtrace(uint max_levels, size_t * length TSRMLS_DC) /* {{{ */ { - zval *trace; + zval trace; char *res = estrdup(""), **str = &res, *s_tmp; int res_len = 0, *len = &res_len, num = 0; if (max_levels == 0) { max_levels = 99999; } - MAKE_STD_ZVAL(trace); - zend_fetch_debug_backtrace(trace, 0, 0, 0 TSRMLS_CC); + zend_fetch_debug_backtrace(&trace, 0, 0, 0 TSRMLS_CC); - zend_hash_apply_with_arguments(Z_ARRVAL_P(trace) TSRMLS_CC, (apply_func_args_t)mysqlnd_build_trace_string, 4, &max_levels, str, len, &num); + zend_hash_apply_with_arguments(Z_ARRVAL(trace) TSRMLS_CC, mysqlnd_build_trace_string, 4, &max_levels, str, len, &num); zval_ptr_dtor(&trace); if (max_levels) { @@ -228,7 +219,7 @@ mysqlnd_get_backtrace(uint max_levels, size_t * length TSRMLS_DC) return res; } - +/* }}} */ /* * Local variables: diff --git a/ext/mysqlnd/mysqlnd_wireprotocol.c b/ext/mysqlnd/mysqlnd_wireprotocol.c index ecce71d9c2..84a025a887 100644 --- a/ext/mysqlnd/mysqlnd_wireprotocol.c +++ b/ext/mysqlnd/mysqlnd_wireprotocol.c @@ -67,16 +67,12 @@ goto premature_end; \ } \ - static const char *unknown_sqlstate= "HY000"; - const char * const mysqlnd_empty_string = ""; - /* Used in mysqlnd_debug.c */ const char mysqlnd_read_header_name[] = "mysqlnd_read_header"; const char mysqlnd_read_body_name[] = "mysqlnd_read_body"; - #define ERROR_MARKER 0xFF #define EODATA_MARKER 0xFE @@ -95,9 +91,7 @@ const char * const mysqlnd_command_to_text[COM_END] = }; /* }}} */ - - -static enum_mysqlnd_collected_stats packet_type_to_statistic_byte_count[PROT_LAST] = +static enum_mysqlnd_collected_stats packet_type_to_statistic_byte_count[PROT_LAST] /* {{{ */ = { STAT_LAST, STAT_LAST, @@ -110,8 +104,9 @@ static enum_mysqlnd_collected_stats packet_type_to_statistic_byte_count[PROT_LAS STAT_BYTES_RECEIVED_PREPARE_RESPONSE, STAT_BYTES_RECEIVED_CHANGE_USER, }; +/* }}} */ -static enum_mysqlnd_collected_stats packet_type_to_statistic_packet_count[PROT_LAST] = +static enum_mysqlnd_collected_stats packet_type_to_statistic_packet_count[PROT_LAST] /* {{{ */ = { STAT_LAST, STAT_LAST, @@ -124,7 +119,7 @@ static enum_mysqlnd_collected_stats packet_type_to_statistic_packet_count[PROT_L STAT_PACKETS_RECEIVED_PREPARE_RESPONSE, STAT_PACKETS_RECEIVED_CHANGE_USER, }; - +/* }}} */ /* {{{ php_mysqlnd_net_field_length Get next field's length */ @@ -155,7 +150,6 @@ php_mysqlnd_net_field_length(zend_uchar **packet) } /* }}} */ - /* {{{ php_mysqlnd_net_field_length_ll Get next field's length */ uint64_t @@ -185,7 +179,6 @@ php_mysqlnd_net_field_length_ll(zend_uchar **packet) } /* }}} */ - /* {{{ php_mysqlnd_net_store_length */ zend_uchar * php_mysqlnd_net_store_length(zend_uchar *packet, uint64_t length) @@ -212,7 +205,6 @@ php_mysqlnd_net_store_length(zend_uchar *packet, uint64_t length) } /* }}} */ - /* {{{ php_mysqlnd_net_store_length_size */ size_t php_mysqlnd_net_store_length_size(uint64_t length) @@ -230,7 +222,6 @@ php_mysqlnd_net_store_length_size(uint64_t length) } /* }}} */ - /* {{{ php_mysqlnd_read_error_from_line */ static enum_func_status php_mysqlnd_read_error_from_line(zend_uchar *buf, size_t buf_len, @@ -274,7 +265,6 @@ end: } /* }}} */ - /* {{{ mysqlnd_read_header */ static enum_func_status mysqlnd_read_header(MYSQLND_NET * net, MYSQLND_PACKET_HEADER * header, @@ -317,7 +307,6 @@ mysqlnd_read_header(MYSQLND_NET * net, MYSQLND_PACKET_HEADER * header, } /* }}} */ - /* {{{ php_mysqlnd_greet_read */ static enum_func_status php_mysqlnd_greet_read(void * _packet, MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -453,7 +442,6 @@ premature_end: } /* }}} */ - /* {{{ php_mysqlnd_greet_free_mem */ static void php_mysqlnd_greet_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -477,7 +465,6 @@ void php_mysqlnd_greet_free_mem(void * _packet, zend_bool stack_allocation TSRML } /* }}} */ - #define AUTH_WRITE_BUFFER_LEN (MYSQLND_HEADER_SIZE + MYSQLND_MAX_ALLOWED_USER_LEN + SCRAMBLE_LENGTH + MYSQLND_MAX_ALLOWED_DB_LEN + 1 + 4096) /* {{{ php_mysqlnd_auth_write */ @@ -623,7 +610,6 @@ size_t php_mysqlnd_auth_write(void * _packet, MYSQLND_CONN_DATA * conn TSRMLS_DC } /* }}} */ - /* {{{ php_mysqlnd_auth_free_mem */ static void php_mysqlnd_auth_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -635,7 +621,6 @@ void php_mysqlnd_auth_free_mem(void * _packet, zend_bool stack_allocation TSRMLS } /* }}} */ - #define AUTH_RESP_BUFFER_SIZE 2048 /* {{{ php_mysqlnd_auth_response_read */ @@ -729,7 +714,6 @@ premature_end: } /* }}} */ - /* {{{ php_mysqlnd_auth_response_free_mem */ static void php_mysqlnd_auth_response_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -757,7 +741,6 @@ php_mysqlnd_auth_response_free_mem(void * _packet, zend_bool stack_allocation TS } /* }}} */ - /* {{{ php_mysqlnd_change_auth_response_write */ static size_t php_mysqlnd_change_auth_response_write(void * _packet, MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -786,7 +769,6 @@ php_mysqlnd_change_auth_response_write(void * _packet, MYSQLND_CONN_DATA * conn } /* }}} */ - /* {{{ php_mysqlnd_change_auth_response_free_mem */ static void php_mysqlnd_change_auth_response_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -798,7 +780,6 @@ php_mysqlnd_change_auth_response_free_mem(void * _packet, zend_bool stack_alloca } /* }}} */ - #define OK_BUFFER_SIZE 2048 /* {{{ php_mysqlnd_ok_read */ @@ -870,7 +851,6 @@ premature_end: } /* }}} */ - /* {{{ php_mysqlnd_ok_free_mem */ static void php_mysqlnd_ok_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -886,7 +866,6 @@ php_mysqlnd_ok_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) } /* }}} */ - /* {{{ php_mysqlnd_eof_read */ static enum_func_status php_mysqlnd_eof_read(void * _packet, MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -953,7 +932,6 @@ premature_end: } /* }}} */ - /* {{{ php_mysqlnd_eof_free_mem */ static void php_mysqlnd_eof_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -964,7 +942,6 @@ void php_mysqlnd_eof_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_ } /* }}} */ - /* {{{ php_mysqlnd_cmd_write */ size_t php_mysqlnd_cmd_write(void * _packet, MYSQLND_CONN_DATA * conn TSRMLS_DC) { @@ -1029,7 +1006,6 @@ end: } /* }}} */ - /* {{{ php_mysqlnd_cmd_free_mem */ static void php_mysqlnd_cmd_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -1041,7 +1017,6 @@ void php_mysqlnd_cmd_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_ } /* }}} */ - /* {{{ php_mysqlnd_rset_header_read */ static enum_func_status php_mysqlnd_rset_header_read(void * _packet, MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -1146,7 +1121,6 @@ premature_end: } /* }}} */ - /* {{{ php_mysqlnd_rset_header_free_mem */ static void php_mysqlnd_rset_header_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -1164,7 +1138,7 @@ void php_mysqlnd_rset_header_free_mem(void * _packet, zend_bool stack_allocation } /* }}} */ -static size_t rset_field_offsets[] = +static size_t rset_field_offsets[] /* {{{ */ = { STRUCT_OFFSET(MYSQLND_FIELD, catalog), STRUCT_OFFSET(MYSQLND_FIELD, catalog_length), @@ -1179,7 +1153,7 @@ static size_t rset_field_offsets[] = STRUCT_OFFSET(MYSQLND_FIELD, org_name), STRUCT_OFFSET(MYSQLND_FIELD, org_name_length) }; - +/* }}} */ /* {{{ php_mysqlnd_rset_field_read */ static enum_func_status @@ -1377,7 +1351,6 @@ premature_end: } /* }}} */ - /* {{{ php_mysqlnd_rset_field_free_mem */ static void php_mysqlnd_rset_field_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -1390,7 +1363,6 @@ void php_mysqlnd_rset_field_free_mem(void * _packet, zend_bool stack_allocation } /* }}} */ - /* {{{ php_mysqlnd_read_row_ex */ static enum_func_status php_mysqlnd_read_row_ex(MYSQLND_CONN_DATA * conn, MYSQLND_MEMORY_POOL * result_set_memory_pool, @@ -1474,7 +1446,6 @@ php_mysqlnd_read_row_ex(MYSQLND_CONN_DATA * conn, MYSQLND_MEMORY_POOL * result_s } /* }}} */ - /* {{{ php_mysqlnd_rowp_read_binary_protocol */ enum_func_status php_mysqlnd_rowp_read_binary_protocol(MYSQLND_MEMORY_POOL_CHUNK * row_buffer, zval ** fields, @@ -1757,7 +1728,6 @@ php_mysqlnd_rowp_read_text_protocol_aux(MYSQLND_MEMORY_POOL_CHUNK * row_buffer, } /* }}} */ - /* {{{ php_mysqlnd_rowp_read_text_protocol_zval */ enum_func_status php_mysqlnd_rowp_read_text_protocol_zval(MYSQLND_MEMORY_POOL_CHUNK * row_buffer, zval ** fields, @@ -1771,7 +1741,6 @@ php_mysqlnd_rowp_read_text_protocol_zval(MYSQLND_MEMORY_POOL_CHUNK * row_buffer, } /* }}} */ - /* {{{ php_mysqlnd_rowp_read_text_protocol_c */ enum_func_status php_mysqlnd_rowp_read_text_protocol_c(MYSQLND_MEMORY_POOL_CHUNK * row_buffer, zval ** fields, @@ -1785,9 +1754,6 @@ php_mysqlnd_rowp_read_text_protocol_c(MYSQLND_MEMORY_POOL_CHUNK * row_buffer, zv } /* }}} */ - - - /* {{{ php_mysqlnd_rowp_read */ /* if normal statements => packet->fields is created by this function, @@ -1883,7 +1849,6 @@ end: } /* }}} */ - /* {{{ php_mysqlnd_rowp_free_mem */ static void php_mysqlnd_rowp_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -1911,7 +1876,6 @@ php_mysqlnd_rowp_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) } /* }}} */ - /* {{{ php_mysqlnd_stats_read */ static enum_func_status php_mysqlnd_stats_read(void * _packet, MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -1933,7 +1897,6 @@ php_mysqlnd_stats_read(void * _packet, MYSQLND_CONN_DATA * conn TSRMLS_DC) } /* }}} */ - /* {{{ php_mysqlnd_stats_free_mem */ static void php_mysqlnd_stats_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -1949,7 +1912,6 @@ void php_mysqlnd_stats_free_mem(void * _packet, zend_bool stack_allocation TSRML } /* }}} */ - /* 1 + 4 (id) + 2 (field_c) + 2 (param_c) + 1 (filler) + 2 (warnings ) */ #define PREPARE_RESPONSE_SIZE_41 9 #define PREPARE_RESPONSE_SIZE_50 12 @@ -2029,7 +1991,6 @@ premature_end: } /* }}} */ - /* {{{ php_mysqlnd_prepare_free_mem */ static void php_mysqlnd_prepare_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -2041,7 +2002,6 @@ php_mysqlnd_prepare_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_D } /* }}} */ - /* {{{ php_mysqlnd_chg_user_read */ static enum_func_status php_mysqlnd_chg_user_read(void * _packet, MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -2104,7 +2064,6 @@ premature_end: } /* }}} */ - /* {{{ php_mysqlnd_chg_user_free_mem */ static void php_mysqlnd_chg_user_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -2129,7 +2088,6 @@ php_mysqlnd_chg_user_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_ } /* }}} */ - /* {{{ php_mysqlnd_sha256_pk_request_write */ static size_t php_mysqlnd_sha256_pk_request_write(void * _packet, MYSQLND_CONN_DATA * conn TSRMLS_DC) @@ -2146,7 +2104,6 @@ size_t php_mysqlnd_sha256_pk_request_write(void * _packet, MYSQLND_CONN_DATA * c } /* }}} */ - /* {{{ php_mysqlnd_sha256_pk_request_free_mem */ static void php_mysqlnd_sha256_pk_request_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -2158,7 +2115,6 @@ void php_mysqlnd_sha256_pk_request_free_mem(void * _packet, zend_bool stack_allo } /* }}} */ - #define SHA256_PK_REQUEST_RESP_BUFFER_SIZE 2048 /* {{{ php_mysqlnd_sha256_pk_request_response_read */ @@ -2194,7 +2150,6 @@ premature_end: } /* }}} */ - /* {{{ php_mysqlnd_sha256_pk_request_response_free_mem */ static void php_mysqlnd_sha256_pk_request_response_free_mem(void * _packet, zend_bool stack_allocation TSRMLS_DC) @@ -2212,7 +2167,6 @@ php_mysqlnd_sha256_pk_request_response_free_mem(void * _packet, zend_bool stack_ } /* }}} */ - /* {{{ packet_methods */ static mysqlnd_packet_methods packet_methods[PROT_LAST] = @@ -2310,7 +2264,6 @@ mysqlnd_packet_methods packet_methods[PROT_LAST] = }; /* }}} */ - /* {{{ mysqlnd_protocol::get_greet_packet */ static struct st_mysqlnd_packet_greet * MYSQLND_METHOD(mysqlnd_protocol, get_greet_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2325,7 +2278,6 @@ MYSQLND_METHOD(mysqlnd_protocol, get_greet_packet)(MYSQLND_PROTOCOL * const prot } /* }}} */ - /* {{{ mysqlnd_protocol::get_auth_packet */ static struct st_mysqlnd_packet_auth * MYSQLND_METHOD(mysqlnd_protocol, get_auth_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2340,7 +2292,6 @@ MYSQLND_METHOD(mysqlnd_protocol, get_auth_packet)(MYSQLND_PROTOCOL * const proto } /* }}} */ - /* {{{ mysqlnd_protocol::get_auth_response_packet */ static struct st_mysqlnd_packet_auth_response * MYSQLND_METHOD(mysqlnd_protocol, get_auth_response_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2355,7 +2306,6 @@ MYSQLND_METHOD(mysqlnd_protocol, get_auth_response_packet)(MYSQLND_PROTOCOL * co } /* }}} */ - /* {{{ mysqlnd_protocol::get_change_auth_response_packet */ static struct st_mysqlnd_packet_change_auth_response * MYSQLND_METHOD(mysqlnd_protocol, get_change_auth_response_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2370,7 +2320,6 @@ MYSQLND_METHOD(mysqlnd_protocol, get_change_auth_response_packet)(MYSQLND_PROTOC } /* }}} */ - /* {{{ mysqlnd_protocol::get_ok_packet */ static struct st_mysqlnd_packet_ok * MYSQLND_METHOD(mysqlnd_protocol, get_ok_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2385,7 +2334,6 @@ MYSQLND_METHOD(mysqlnd_protocol, get_ok_packet)(MYSQLND_PROTOCOL * const protoco } /* }}} */ - /* {{{ mysqlnd_protocol::get_eof_packet */ static struct st_mysqlnd_packet_eof * MYSQLND_METHOD(mysqlnd_protocol, get_eof_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2400,7 +2348,6 @@ MYSQLND_METHOD(mysqlnd_protocol, get_eof_packet)(MYSQLND_PROTOCOL * const protoc } /* }}} */ - /* {{{ mysqlnd_protocol::get_command_packet */ static struct st_mysqlnd_packet_command * MYSQLND_METHOD(mysqlnd_protocol, get_command_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2415,7 +2362,6 @@ MYSQLND_METHOD(mysqlnd_protocol, get_command_packet)(MYSQLND_PROTOCOL * const pr } /* }}} */ - /* {{{ mysqlnd_protocol::get_rset_packet */ static struct st_mysqlnd_packet_rset_header * MYSQLND_METHOD(mysqlnd_protocol, get_rset_header_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2430,7 +2376,6 @@ MYSQLND_METHOD(mysqlnd_protocol, get_rset_header_packet)(MYSQLND_PROTOCOL * cons } /* }}} */ - /* {{{ mysqlnd_protocol::get_result_field_packet */ static struct st_mysqlnd_packet_res_field * MYSQLND_METHOD(mysqlnd_protocol, get_result_field_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2445,7 +2390,6 @@ MYSQLND_METHOD(mysqlnd_protocol, get_result_field_packet)(MYSQLND_PROTOCOL * con } /* }}} */ - /* {{{ mysqlnd_protocol::get_row_packet */ static struct st_mysqlnd_packet_row * MYSQLND_METHOD(mysqlnd_protocol, get_row_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2460,7 +2404,6 @@ MYSQLND_METHOD(mysqlnd_protocol, get_row_packet)(MYSQLND_PROTOCOL * const protoc } /* }}} */ - /* {{{ mysqlnd_protocol::get_stats_packet */ static struct st_mysqlnd_packet_stats * MYSQLND_METHOD(mysqlnd_protocol, get_stats_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2475,7 +2418,6 @@ MYSQLND_METHOD(mysqlnd_protocol, get_stats_packet)(MYSQLND_PROTOCOL * const prot } /* }}} */ - /* {{{ mysqlnd_protocol::get_prepare_response_packet */ static struct st_mysqlnd_packet_prepare_response * MYSQLND_METHOD(mysqlnd_protocol, get_prepare_response_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2490,7 +2432,6 @@ MYSQLND_METHOD(mysqlnd_protocol, get_prepare_response_packet)(MYSQLND_PROTOCOL * } /* }}} */ - /* {{{ mysqlnd_protocol::get_change_user_response_packet */ static struct st_mysqlnd_packet_chg_user_resp* MYSQLND_METHOD(mysqlnd_protocol, get_change_user_response_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2505,7 +2446,6 @@ MYSQLND_METHOD(mysqlnd_protocol, get_change_user_response_packet)(MYSQLND_PROTOC } /* }}} */ - /* {{{ mysqlnd_protocol::get_sha256_pk_request_packet */ static struct st_mysqlnd_packet_sha256_pk_request * MYSQLND_METHOD(mysqlnd_protocol, get_sha256_pk_request_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2520,7 +2460,6 @@ MYSQLND_METHOD(mysqlnd_protocol, get_sha256_pk_request_packet)(MYSQLND_PROTOCOL } /* }}} */ - /* {{{ mysqlnd_protocol::get_sha256_pk_request_response_packet */ static struct st_mysqlnd_packet_sha256_pk_request_response * MYSQLND_METHOD(mysqlnd_protocol, get_sha256_pk_request_response_packet)(MYSQLND_PROTOCOL * const protocol, zend_bool persistent TSRMLS_DC) @@ -2535,9 +2474,7 @@ MYSQLND_METHOD(mysqlnd_protocol, get_sha256_pk_request_response_packet)(MYSQLND_ } /* }}} */ - - -MYSQLND_CLASS_METHODS_START(mysqlnd_protocol) +MYSQLND_CLASS_METHODS_START(mysqlnd_protocol) MYSQLND_METHOD(mysqlnd_protocol, get_greet_packet), MYSQLND_METHOD(mysqlnd_protocol, get_auth_packet), MYSQLND_METHOD(mysqlnd_protocol, get_auth_response_packet), @@ -2555,7 +2492,6 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_protocol) MYSQLND_METHOD(mysqlnd_protocol, get_sha256_pk_request_response_packet) MYSQLND_CLASS_METHODS_END; - /* {{{ mysqlnd_protocol_init */ PHPAPI MYSQLND_PROTOCOL * mysqlnd_protocol_init(zend_bool persistent TSRMLS_DC) @@ -2567,7 +2503,6 @@ mysqlnd_protocol_init(zend_bool persistent TSRMLS_DC) } /* }}} */ - /* {{{ mysqlnd_protocol_free */ PHPAPI void mysqlnd_protocol_free(MYSQLND_PROTOCOL * const protocol TSRMLS_DC) @@ -2582,7 +2517,6 @@ mysqlnd_protocol_free(MYSQLND_PROTOCOL * const protocol TSRMLS_DC) } /* }}} */ - /* * Local variables: * tab-width: 4 diff --git a/ext/pdo_mysql/mysql_driver.c b/ext/pdo_mysql/mysql_driver.c index fcc395d65a..d7c993509f 100644 --- a/ext/pdo_mysql/mysql_driver.c +++ b/ext/pdo_mysql/mysql_driver.c @@ -444,7 +444,8 @@ static int pdo_mysql_get_attribute(pdo_dbh_t *dbh, long attr, zval *return_value unsigned int tmp_len; if (mysqlnd_stat(H->server, &tmp, &tmp_len) == PASS) { - ZVAL_STRINGL(return_value, tmp, tmp_len, 0); + ZVAL_STRINGL(return_value, tmp, tmp_len); + efree(tmp); #else if ((tmp = (char *)mysql_stat(H->server))) { ZVAL_STRING(return_value, tmp); -- 2.40.0