MDEV-9618 solaris sparc build fails on 10.1.
Compiler there is strict about the C/C++ call model mixing in function variable assumptions. Fixed by adding some 'extern "C"' and changing '?' operator with 'if'.
This commit is contained in:
parent
5dd0c77e92
commit
a02d4023db
@ -23,6 +23,10 @@
|
||||
|
||||
#include "plugin.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define MYSQL_AUDIT_CLASS_MASK_SIZE 1
|
||||
|
||||
#define MYSQL_AUDIT_INTERFACE_VERSION 0x0302
|
||||
@ -175,4 +179,8 @@ struct st_mysql_audit
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -31,6 +31,10 @@
|
||||
|
||||
#include <mysql/plugin_auth_common.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* defines for MYSQL_SERVER_AUTH_INFO.password_used */
|
||||
|
||||
#define PASSWORD_USED_NO 0
|
||||
@ -122,5 +126,10 @@ struct st_mysql_auth
|
||||
*/
|
||||
int (*authenticate_user)(MYSQL_PLUGIN_VIO *vio, MYSQL_SERVER_AUTH_INFO *info);
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -27,6 +27,10 @@
|
||||
|
||||
#include <mysql/plugin.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define MariaDB_ENCRYPTION_INTERFACE_VERSION 0x0300
|
||||
|
||||
/**
|
||||
@ -114,5 +118,9 @@ struct st_mariadb_encryption
|
||||
*/
|
||||
unsigned int (*encrypted_length)(unsigned int slen, unsigned int key_id, unsigned int key_version);
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -18,6 +18,10 @@
|
||||
#define _my_plugin_ftparser_h
|
||||
#include "plugin.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*************************************************************************
|
||||
API for Full-text parser plugin. (MYSQL_FTPARSER_PLUGIN)
|
||||
*/
|
||||
@ -208,5 +212,9 @@ struct st_mysql_ftparser
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -26,6 +26,10 @@
|
||||
|
||||
#include <mysql/plugin.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define MariaDB_PASSWORD_VALIDATION_INTERFACE_VERSION 0x0100
|
||||
|
||||
/**
|
||||
@ -41,5 +45,10 @@ struct st_mariadb_password_validation
|
||||
int (*validate_password)(MYSQL_LEX_STRING *username,
|
||||
MYSQL_LEX_STRING *password);
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -23,6 +23,8 @@
|
||||
static plugin_ref encryption_manager= 0;
|
||||
struct encryption_service_st encryption_handler;
|
||||
|
||||
extern "C" {
|
||||
|
||||
uint no_key(uint)
|
||||
{
|
||||
return ENCRYPTION_KEY_VERSION_INVALID;
|
||||
@ -41,6 +43,8 @@ static unsigned int get_length(unsigned int slen, unsigned int key_id,
|
||||
return my_aes_get_size(MY_AES_CBC, slen);
|
||||
}
|
||||
|
||||
} /* extern "C" */
|
||||
|
||||
int initialize_encryption_plugin(st_plugin_int *plugin)
|
||||
{
|
||||
if (encryption_manager)
|
||||
@ -57,8 +61,14 @@ int initialize_encryption_plugin(st_plugin_int *plugin)
|
||||
st_mariadb_encryption *handle=
|
||||
(struct st_mariadb_encryption*) plugin->plugin->info;
|
||||
|
||||
/*
|
||||
Copmiler on Spark doesn't like the '?' operator here as it
|
||||
belives the (uint (*)...) implies the C++ call model.
|
||||
*/
|
||||
if (handle->crypt_ctx_size)
|
||||
encryption_handler.encryption_ctx_size_func= handle->crypt_ctx_size;
|
||||
else
|
||||
encryption_handler.encryption_ctx_size_func=
|
||||
handle->crypt_ctx_size ? handle->crypt_ctx_size :
|
||||
(uint (*)(unsigned int, unsigned int))my_aes_ctx_size;
|
||||
|
||||
encryption_handler.encryption_ctx_init_func=
|
||||
|
Loading…
x
Reference in New Issue
Block a user