diff --git a/extra/mariabackup/encryption_plugin.cc b/extra/mariabackup/encryption_plugin.cc index ab87ce0b7bd..04e8ae83957 100644 --- a/extra/mariabackup/encryption_plugin.cc +++ b/extra/mariabackup/encryption_plugin.cc @@ -194,7 +194,7 @@ const char *encryption_plugin_get_config() return encryption_plugin_config.c_str(); } -extern int finalize_encryption_plugin(st_plugin_int *plugin); +extern int finalize_encryption_plugin(void *plugin); void encryption_plugin_prepare_init(int argc, char **argv) diff --git a/sql/encryption.cc b/sql/encryption.cc index 13239b91910..79939cdc012 100644 --- a/sql/encryption.cc +++ b/sql/encryption.cc @@ -59,8 +59,9 @@ uint ctx_size(unsigned int, unsigned int) } /* extern "C" */ -int initialize_encryption_plugin(st_plugin_int *plugin) +int initialize_encryption_plugin(void *plugin_) { + st_plugin_int *plugin= static_cast(plugin_); if (encryption_manager) return 1; @@ -107,8 +108,9 @@ int initialize_encryption_plugin(st_plugin_int *plugin) return 0; } -int finalize_encryption_plugin(st_plugin_int *plugin) +int finalize_encryption_plugin(void *plugin_) { + st_plugin_int *plugin= static_cast(plugin_); bool used= plugin_ref_to_int(encryption_manager) == plugin; if (used) diff --git a/sql/handler.cc b/sql/handler.cc index 10ea7da1088..4ecd1ea2048 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -566,8 +566,9 @@ static int hton_drop_table(handlerton *hton, const char *path) } -int ha_finalize_handlerton(st_plugin_int *plugin) +int ha_finalize_handlerton(void *plugin_) { + st_plugin_int *plugin= static_cast(plugin_); handlerton *hton= (handlerton *)plugin->data; DBUG_ENTER("ha_finalize_handlerton"); @@ -618,8 +619,9 @@ int ha_finalize_handlerton(st_plugin_int *plugin) } -int ha_initialize_handlerton(st_plugin_int *plugin) +int ha_initialize_handlerton(void *plugin_) { + st_plugin_int *plugin= static_cast(plugin_); handlerton *hton; static const char *no_exts[]= { 0 }; int ret= 0; diff --git a/sql/handler.h b/sql/handler.h index ac97a41a4f1..fc3d00d43d5 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -5101,8 +5101,8 @@ static inline bool ha_storage_engine_is_enabled(const handlerton *db_type) int ha_init_errors(void); int ha_init(void); int ha_end(void); -int ha_initialize_handlerton(st_plugin_int *plugin); -int ha_finalize_handlerton(st_plugin_int *plugin); +int ha_initialize_handlerton(void *plugin); +int ha_finalize_handlerton(void *plugin); TYPELIB *ha_known_exts(void); int ha_panic(enum ha_panic_function flag); diff --git a/sql/sql_audit.cc b/sql/sql_audit.cc index 6ee6ede31b8..6f0d3afbff7 100644 --- a/sql/sql_audit.cc +++ b/sql/sql_audit.cc @@ -18,8 +18,8 @@ #include "mysqld.h" #include "sql_audit.h" -extern int initialize_audit_plugin(st_plugin_int *plugin); -extern int finalize_audit_plugin(st_plugin_int *plugin); +extern int initialize_audit_plugin(void *plugin); +extern int finalize_audit_plugin(void *plugin); #ifndef EMBEDDED_LIBRARY @@ -262,8 +262,9 @@ void mysql_audit_finalize() @retval TRUE There was an error. */ -int initialize_audit_plugin(st_plugin_int *plugin) +int initialize_audit_plugin(void *plugin_) { + st_plugin_int *plugin= static_cast(plugin_); st_mysql_audit *data= (st_mysql_audit*) plugin->plugin->info; if (!data->event_notify || !data->class_mask[0]) @@ -346,8 +347,9 @@ static my_bool calc_class_mask(THD *thd, plugin_ref plugin, void *arg) @retval FALSE OK @retval TRUE There was an error. */ -int finalize_audit_plugin(st_plugin_int *plugin) +int finalize_audit_plugin(void *plugin_) { + st_plugin_int *plugin= static_cast(plugin_); unsigned long event_class_mask[MYSQL_AUDIT_CLASS_MASK_SIZE]; if (plugin->plugin->deinit && plugin->plugin->deinit(NULL)) @@ -458,13 +460,13 @@ void mysql_audit_finalize() } -int initialize_audit_plugin(st_plugin_int *plugin) +int initialize_audit_plugin(void *plugin) { return 1; } -int finalize_audit_plugin(st_plugin_int *plugin) +int finalize_audit_plugin(void *plugin) { return 0; } diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc index 624a4fa2e9b..56c7b3332a2 100644 --- a/sql/sql_plugin.cc +++ b/sql/sql_plugin.cc @@ -103,16 +103,16 @@ const LEX_CSTRING plugin_type_names[MYSQL_MAX_PLUGIN_TYPE_NUM]= { STRING_WITH_LEN("FUNCTION") } }; -extern int initialize_schema_table(st_plugin_int *plugin); -extern int finalize_schema_table(st_plugin_int *plugin); +extern int initialize_schema_table(void *plugin); +extern int finalize_schema_table(void *plugin); -extern int initialize_audit_plugin(st_plugin_int *plugin); -extern int finalize_audit_plugin(st_plugin_int *plugin); +extern int initialize_audit_plugin(void *plugin); +extern int finalize_audit_plugin(void *plugin); -extern int initialize_encryption_plugin(st_plugin_int *plugin); -extern int finalize_encryption_plugin(st_plugin_int *plugin); +extern int initialize_encryption_plugin(void *plugin); +extern int finalize_encryption_plugin(void *plugin); -extern int initialize_data_type_plugin(st_plugin_int *plugin); +extern int initialize_data_type_plugin(void *plugin); /* The number of elements in both plugin_type_initialize and @@ -1446,8 +1446,9 @@ static int plugin_do_initialize(struct st_plugin_int *plugin, uint &state) mysql_mutex_assert_not_owner(&LOCK_plugin); plugin_type_init init= plugin_type_initialize[plugin->plugin->type]; if (!init) - init= (plugin_type_init) plugin->plugin->init; + init= plugin->plugin->init; if (init) + { if (int ret= init(plugin)) { /* Plugin init failed and did not requested a retry */ @@ -1455,6 +1456,7 @@ static int plugin_do_initialize(struct st_plugin_int *plugin, uint &state) print_init_failed_error(plugin); DBUG_RETURN(ret); } + } state= PLUGIN_IS_READY; // plugin->init() succeeded if (plugin->plugin->status_vars) diff --git a/sql/sql_plugin.h b/sql/sql_plugin.h index eaf0b40f34a..5e62f2a5e45 100644 --- a/sql/sql_plugin.h +++ b/sql/sql_plugin.h @@ -152,7 +152,7 @@ typedef struct st_plugin_int **plugin_ref; #define plugin_equals(p1,p2) ((p1) && (p2) && (p1)[0] == (p2)[0]) #endif -typedef int (*plugin_type_init)(struct st_plugin_int *); +typedef int (*plugin_type_init)(void *); extern I_List *opt_plugin_load_list_ptr; extern char *opt_plugin_dir_ptr; diff --git a/sql/sql_show.cc b/sql/sql_show.cc index aafaf3b6a41..2965cdf0199 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -9938,8 +9938,9 @@ ST_SCHEMA_TABLE schema_tables[]= }; -int initialize_schema_table(st_plugin_int *plugin) +int initialize_schema_table(void *plugin_) { + st_plugin_int *plugin= static_cast(plugin_); ST_SCHEMA_TABLE *schema_table; int err; DBUG_ENTER("initialize_schema_table"); @@ -9984,9 +9985,10 @@ int initialize_schema_table(st_plugin_int *plugin) DBUG_RETURN(0); } -int finalize_schema_table(st_plugin_int *plugin) +int finalize_schema_table(void *plugin_) { - ST_SCHEMA_TABLE *schema_table= (ST_SCHEMA_TABLE *)plugin->data; + st_plugin_int *plugin= static_cast(plugin_); + ST_SCHEMA_TABLE *schema_table= static_cast(plugin->data); DBUG_ENTER("finalize_schema_table"); if (schema_table) diff --git a/sql/sql_type.cc b/sql/sql_type.cc index e46a3f2fda4..114c5ab9786 100644 --- a/sql/sql_type.cc +++ b/sql/sql_type.cc @@ -9566,9 +9566,11 @@ Charset::eq_collation_specific_names(CHARSET_INFO *cs) const return name0.length && !cmp(&name0, &name1); } -int initialize_data_type_plugin(st_plugin_int *plugin) +int initialize_data_type_plugin(void *plugin_) { - st_mariadb_data_type *data= (st_mariadb_data_type*) plugin->plugin->info; + st_plugin_int *plugin= static_cast(plugin_); + st_mariadb_data_type *data= + static_cast(plugin->plugin->info); data->type_handler->set_name(Name(plugin->name)); if (plugin->plugin->init && plugin->plugin->init(NULL)) {