27
27
#include "mysqlnd_statistics.h"
28
28
#include "mysqlnd_charset.h"
29
29
#include "mysqlnd_debug.h"
30
+ #include "mysqlnd_ext_plugin.h"
30
31
#include "zend_smart_str.h"
31
32
32
33
@@ -156,7 +157,7 @@ enum_func_status
156
157
mysqlnd_error_info_init (MYSQLND_ERROR_INFO * const info , zend_bool persistent )
157
158
{
158
159
DBG_ENTER ("mysqlnd_error_info_init" )
159
- info -> m = & MYSQLND_CLASS_METHOD_TABLE_NAME ( mysqlnd_error_info );
160
+ info -> m = mysqlnd_error_info_get_methods ( );
160
161
info -> m -> reset (info );
161
162
162
163
info -> error_list = mnd_pecalloc (1 , sizeof (zend_llist ), persistent );
@@ -420,7 +421,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, send_command_handle_response)(
420
421
static enum_func_status
421
422
MYSQLND_METHOD (mysqlnd_conn_data , set_server_option )(MYSQLND_CONN_DATA * const conn , enum_mysqlnd_server_option option )
422
423
{
423
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , set_server_option );
424
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , set_server_option );
424
425
enum_func_status ret = FAIL ;
425
426
DBG_ENTER ("mysqlnd_conn_data::set_server_option" );
426
427
if (PASS == conn -> m -> local_tx_start (conn , this_func )) {
@@ -843,7 +844,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, connect)(MYSQLND_CONN_DATA * conn,
843
844
unsigned int mysql_flags
844
845
)
845
846
{
846
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , connect );
847
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , connect );
847
848
size_t host_len ;
848
849
zend_bool unix_socket = FALSE;
849
850
zend_bool named_pipe = FALSE;
@@ -1094,7 +1095,7 @@ MYSQLND_METHOD(mysqlnd_conn, connect)(MYSQLND * conn_handle,
1094
1095
unsigned int mysql_flags
1095
1096
)
1096
1097
{
1097
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , connect );
1098
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , connect );
1098
1099
enum_func_status ret = FAIL ;
1099
1100
MYSQLND_CONN_DATA * conn = conn_handle -> data ;
1100
1101
@@ -1161,7 +1162,7 @@ PHPAPI MYSQLND * mysqlnd_connection_connect(MYSQLND * conn_handle,
1161
1162
static enum_func_status
1162
1163
MYSQLND_METHOD (mysqlnd_conn_data , query )(MYSQLND_CONN_DATA * conn , const char * query , unsigned int query_len )
1163
1164
{
1164
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , query );
1165
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , query );
1165
1166
enum_func_status ret = FAIL ;
1166
1167
DBG_ENTER ("mysqlnd_conn_data::query" );
1167
1168
DBG_INF_FMT ("conn=%p conn=%llu query=%s" , conn , conn -> thread_id , query );
@@ -1187,7 +1188,7 @@ static enum_func_status
1187
1188
MYSQLND_METHOD (mysqlnd_conn_data , send_query )(MYSQLND_CONN_DATA * conn , const char * query , unsigned int query_len ,
1188
1189
enum_mysqlnd_send_query_type type , zval * read_cb , zval * err_cb )
1189
1190
{
1190
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , send_query );
1191
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , send_query );
1191
1192
enum_func_status ret = FAIL ;
1192
1193
DBG_ENTER ("mysqlnd_conn_data::send_query" );
1193
1194
DBG_INF_FMT ("conn=%llu query=%s" , conn -> thread_id , query );
@@ -1216,7 +1217,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, send_query)(MYSQLND_CONN_DATA * conn, const ch
1216
1217
static enum_func_status
1217
1218
MYSQLND_METHOD (mysqlnd_conn_data , reap_query )(MYSQLND_CONN_DATA * conn , enum_mysqlnd_reap_result_type type )
1218
1219
{
1219
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , reap_query );
1220
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , reap_query );
1220
1221
enum_func_status ret = FAIL ;
1221
1222
DBG_ENTER ("mysqlnd_conn_data::reap_query" );
1222
1223
DBG_INF_FMT ("conn=%llu" , conn -> thread_id );
@@ -1441,7 +1442,7 @@ mysqlnd_poll(MYSQLND **r_array, MYSQLND **e_array, MYSQLND ***dont_poll, long se
1441
1442
MYSQLND_RES *
1442
1443
MYSQLND_METHOD (mysqlnd_conn_data , list_fields )(MYSQLND_CONN_DATA * conn , const char * table , const char * achtung_wild )
1443
1444
{
1444
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , list_fields );
1445
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , list_fields );
1445
1446
MYSQLND_RES * result = NULL ;
1446
1447
DBG_ENTER ("mysqlnd_conn_data::list_fields" );
1447
1448
DBG_INF_FMT ("conn=%llu table=%s wild=%s" , conn -> thread_id , table ? table :"" ,achtung_wild ? achtung_wild :"" );
@@ -1500,7 +1501,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, list_fields)(MYSQLND_CONN_DATA * conn, const c
1500
1501
MYSQLND_RES *
1501
1502
MYSQLND_METHOD (mysqlnd_conn_data , list_method )(MYSQLND_CONN_DATA * conn , const char * query , const char * achtung_wild , char * par1 )
1502
1503
{
1503
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , list_method );
1504
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , list_method );
1504
1505
char * show_query = NULL ;
1505
1506
size_t show_query_len ;
1506
1507
MYSQLND_RES * result = NULL ;
@@ -1578,7 +1579,7 @@ static enum_func_status
1578
1579
MYSQLND_METHOD (mysqlnd_conn_data , ssl_set )(MYSQLND_CONN_DATA * const conn , const char * key , const char * const cert ,
1579
1580
const char * const ca , const char * const capath , const char * const cipher )
1580
1581
{
1581
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , ssl_set );
1582
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , ssl_set );
1582
1583
enum_func_status ret = FAIL ;
1583
1584
MYSQLND_NET * net = conn -> net ;
1584
1585
DBG_ENTER ("mysqlnd_conn_data::ssl_set" );
@@ -1601,7 +1602,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, ssl_set)(MYSQLND_CONN_DATA * const conn, const
1601
1602
static zend_ulong
1602
1603
MYSQLND_METHOD (mysqlnd_conn_data , escape_string )(MYSQLND_CONN_DATA * const conn , char * newstr , const char * escapestr , size_t escapestr_len )
1603
1604
{
1604
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , escape_string );
1605
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , escape_string );
1605
1606
zend_ulong ret = FAIL ;
1606
1607
DBG_ENTER ("mysqlnd_conn_data::escape_string" );
1607
1608
DBG_INF_FMT ("conn=%llu" , conn -> thread_id );
@@ -1624,7 +1625,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, escape_string)(MYSQLND_CONN_DATA * const conn,
1624
1625
static enum_func_status
1625
1626
MYSQLND_METHOD (mysqlnd_conn_data , dump_debug_info )(MYSQLND_CONN_DATA * const conn )
1626
1627
{
1627
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , server_dump_debug_information );
1628
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , server_dump_debug_information );
1628
1629
enum_func_status ret = FAIL ;
1629
1630
DBG_ENTER ("mysqlnd_conn_data::dump_debug_info" );
1630
1631
DBG_INF_FMT ("conn=%llu" , conn -> thread_id );
@@ -1647,7 +1648,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, dump_debug_info)(MYSQLND_CONN_DATA * const con
1647
1648
static enum_func_status
1648
1649
MYSQLND_METHOD (mysqlnd_conn_data , select_db )(MYSQLND_CONN_DATA * const conn , const char * const db , unsigned int db_len )
1649
1650
{
1650
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , select_db );
1651
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , select_db );
1651
1652
enum_func_status ret = FAIL ;
1652
1653
1653
1654
DBG_ENTER ("mysqlnd_conn_data::select_db" );
@@ -1689,7 +1690,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, select_db)(MYSQLND_CONN_DATA * const conn, con
1689
1690
static enum_func_status
1690
1691
MYSQLND_METHOD (mysqlnd_conn_data , ping )(MYSQLND_CONN_DATA * const conn )
1691
1692
{
1692
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , ping );
1693
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , ping );
1693
1694
enum_func_status ret = FAIL ;
1694
1695
1695
1696
DBG_ENTER ("mysqlnd_conn_data::ping" );
@@ -1719,7 +1720,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, ping)(MYSQLND_CONN_DATA * const conn)
1719
1720
static enum_func_status
1720
1721
MYSQLND_METHOD (mysqlnd_conn_data , statistic )(MYSQLND_CONN_DATA * conn , zend_string * * message )
1721
1722
{
1722
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , get_server_statistics );
1723
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , get_server_statistics );
1723
1724
enum_func_status ret = FAIL ;
1724
1725
MYSQLND_PACKET_STATS * stats_header ;
1725
1726
@@ -1762,7 +1763,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, statistic)(MYSQLND_CONN_DATA * conn, zend_stri
1762
1763
static enum_func_status
1763
1764
MYSQLND_METHOD (mysqlnd_conn_data , kill )(MYSQLND_CONN_DATA * conn , unsigned int pid )
1764
1765
{
1765
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , kill_connection );
1766
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , kill_connection );
1766
1767
enum_func_status ret = FAIL ;
1767
1768
1768
1769
DBG_ENTER ("mysqlnd_conn_data::kill" );
@@ -1798,7 +1799,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, kill)(MYSQLND_CONN_DATA * conn, unsigned int p
1798
1799
static enum_func_status
1799
1800
MYSQLND_METHOD (mysqlnd_conn_data , set_charset )(MYSQLND_CONN_DATA * const conn , const char * const csname )
1800
1801
{
1801
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , set_charset );
1802
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , set_charset );
1802
1803
enum_func_status ret = FAIL ;
1803
1804
const MYSQLND_CHARSET * const charset = mysqlnd_find_charset_name (csname );
1804
1805
@@ -1837,7 +1838,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_charset)(MYSQLND_CONN_DATA * const conn, c
1837
1838
static enum_func_status
1838
1839
MYSQLND_METHOD (mysqlnd_conn_data , refresh )(MYSQLND_CONN_DATA * const conn , uint8_t options )
1839
1840
{
1840
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , refresh_server );
1841
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , refresh_server );
1841
1842
enum_func_status ret = FAIL ;
1842
1843
DBG_ENTER ("mysqlnd_conn_data::refresh" );
1843
1844
DBG_INF_FMT ("conn=%llu options=%lu" , conn -> thread_id , options );
@@ -1859,7 +1860,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, refresh)(MYSQLND_CONN_DATA * const conn, uint8
1859
1860
static enum_func_status
1860
1861
MYSQLND_METHOD (mysqlnd_conn_data , shutdown )(MYSQLND_CONN_DATA * const conn , uint8_t level )
1861
1862
{
1862
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , shutdown_server );
1863
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , shutdown_server );
1863
1864
enum_func_status ret = FAIL ;
1864
1865
DBG_ENTER ("mysqlnd_conn_data::shutdown" );
1865
1866
DBG_INF_FMT ("conn=%llu level=%lu" , conn -> thread_id , level );
@@ -2152,7 +2153,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, more_results)(const MYSQLND_CONN_DATA * const
2152
2153
static enum_func_status
2153
2154
MYSQLND_METHOD (mysqlnd_conn_data , next_result )(MYSQLND_CONN_DATA * const conn )
2154
2155
{
2155
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , next_result );
2156
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , next_result );
2156
2157
enum_func_status ret = FAIL ;
2157
2158
2158
2159
DBG_ENTER ("mysqlnd_conn_data::next_result" );
@@ -2260,7 +2261,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, change_user)(MYSQLND_CONN_DATA * const conn,
2260
2261
size_t passwd_len
2261
2262
)
2262
2263
{
2263
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , change_user );
2264
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , change_user );
2264
2265
enum_func_status ret = FAIL ;
2265
2266
2266
2267
DBG_ENTER ("mysqlnd_conn_data::change_user" );
@@ -2308,7 +2309,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_client_option)(MYSQLND_CONN_DATA * const c
2308
2309
const char * const value
2309
2310
)
2310
2311
{
2311
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , set_client_option );
2312
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , set_client_option );
2312
2313
enum_func_status ret = PASS ;
2313
2314
DBG_ENTER ("mysqlnd_conn_data::set_client_option" );
2314
2315
DBG_INF_FMT ("conn=%llu option=%u" , conn -> thread_id , option );
@@ -2479,7 +2480,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_client_option_2d)(MYSQLND_CONN_DATA * cons
2479
2480
const char * const value
2480
2481
)
2481
2482
{
2482
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , set_client_option_2d );
2483
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , set_client_option_2d );
2483
2484
enum_func_status ret = PASS ;
2484
2485
DBG_ENTER ("mysqlnd_conn_data::set_client_option_2d" );
2485
2486
DBG_INF_FMT ("conn=%llu option=%u" , conn -> thread_id , option );
@@ -2522,7 +2523,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_client_option_2d)(MYSQLND_CONN_DATA * cons
2522
2523
static MYSQLND_RES *
2523
2524
MYSQLND_METHOD (mysqlnd_conn_data , use_result )(MYSQLND_CONN_DATA * const conn , const unsigned int flags )
2524
2525
{
2525
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , use_result );
2526
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , use_result );
2526
2527
MYSQLND_RES * result = NULL ;
2527
2528
2528
2529
DBG_ENTER ("mysqlnd_conn_data::use_result" );
@@ -2564,7 +2565,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, use_result)(MYSQLND_CONN_DATA * const conn, co
2564
2565
static MYSQLND_RES *
2565
2566
MYSQLND_METHOD (mysqlnd_conn_data , store_result )(MYSQLND_CONN_DATA * const conn , const unsigned int flags )
2566
2567
{
2567
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , store_result );
2568
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , store_result );
2568
2569
MYSQLND_RES * result = NULL ;
2569
2570
2570
2571
DBG_ENTER ("mysqlnd_conn_data::store_result" );
@@ -2633,7 +2634,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, get_connection_stats)(const MYSQLND_CONN_DATA
2633
2634
static enum_func_status
2634
2635
MYSQLND_METHOD (mysqlnd_conn_data , set_autocommit )(MYSQLND_CONN_DATA * conn , unsigned int mode )
2635
2636
{
2636
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , set_autocommit );
2637
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , set_autocommit );
2637
2638
enum_func_status ret = FAIL ;
2638
2639
DBG_ENTER ("mysqlnd_conn_data::set_autocommit" );
2639
2640
@@ -2744,7 +2745,7 @@ mysqlnd_escape_string_for_tx_name_in_comment(const char * const name)
2744
2745
static enum_func_status
2745
2746
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 )
2746
2747
{
2747
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , tx_commit_or_rollback );
2748
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , tx_commit_or_rollback );
2748
2749
enum_func_status ret = FAIL ;
2749
2750
DBG_ENTER ("mysqlnd_conn_data::tx_commit_or_rollback" );
2750
2751
@@ -2788,7 +2789,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_commit_or_rollback)(MYSQLND_CONN_DATA * con
2788
2789
static enum_func_status
2789
2790
MYSQLND_METHOD (mysqlnd_conn_data , tx_begin )(MYSQLND_CONN_DATA * conn , const unsigned int mode , const char * const name )
2790
2791
{
2791
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , tx_begin );
2792
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , tx_begin );
2792
2793
enum_func_status ret = FAIL ;
2793
2794
DBG_ENTER ("mysqlnd_conn_data::tx_begin" );
2794
2795
@@ -2850,7 +2851,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_begin)(MYSQLND_CONN_DATA * conn, const unsi
2850
2851
static enum_func_status
2851
2852
MYSQLND_METHOD (mysqlnd_conn_data , tx_savepoint )(MYSQLND_CONN_DATA * conn , const char * const name )
2852
2853
{
2853
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , tx_savepoint );
2854
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , tx_savepoint );
2854
2855
enum_func_status ret = FAIL ;
2855
2856
DBG_ENTER ("mysqlnd_conn_data::tx_savepoint" );
2856
2857
@@ -2882,7 +2883,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_savepoint)(MYSQLND_CONN_DATA * conn, const
2882
2883
static enum_func_status
2883
2884
MYSQLND_METHOD (mysqlnd_conn_data , tx_savepoint_release )(MYSQLND_CONN_DATA * conn , const char * const name )
2884
2885
{
2885
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , tx_savepoint_release );
2886
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn_data ) , tx_savepoint_release );
2886
2887
enum_func_status ret = FAIL ;
2887
2888
DBG_ENTER ("mysqlnd_conn_data::tx_savepoint_release" );
2888
2889
@@ -3094,7 +3095,7 @@ MYSQLND_METHOD_PRIVATE(mysqlnd_conn, dtor)(MYSQLND * conn)
3094
3095
static enum_func_status
3095
3096
MYSQLND_METHOD (mysqlnd_conn , close )(MYSQLND * conn_handle , enum_connection_close_type close_type )
3096
3097
{
3097
- const size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_methods , close );
3098
+ const size_t this_func = STRUCT_OFFSET (MYSQLND_CLASS_METHODS_TYPE ( mysqlnd_conn ) , close );
3098
3099
MYSQLND_CONN_DATA * conn = conn_handle -> data ;
3099
3100
enum_func_status ret = FAIL ;
3100
3101
0 commit comments