mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
MDEV-31992 Automatic conversion from LEX_STRING to LEX_CSTRING
- Adding automatic conversion operator from LEX_STRING to LEX_CSTRING Now a LEX_STRING can be passed directly to any function expecting a LEX_CSTRING parameter passed by value or by reference. - Removing a number of duplicate methods accepting LEX_STRING. Now the code used the LEX_CSTRING version.
This commit is contained in:
@@ -35,13 +35,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct st_mysql_lex_string
|
||||
{
|
||||
char *str;
|
||||
size_t length;
|
||||
};
|
||||
typedef struct st_mysql_lex_string MYSQL_LEX_STRING;
|
||||
|
||||
struct st_mysql_const_lex_string
|
||||
{
|
||||
const char *str;
|
||||
@@ -49,6 +42,20 @@ struct st_mysql_const_lex_string
|
||||
};
|
||||
typedef struct st_mysql_const_lex_string MYSQL_CONST_LEX_STRING;
|
||||
|
||||
struct st_mysql_lex_string
|
||||
{
|
||||
char *str;
|
||||
size_t length;
|
||||
#ifdef __cplusplus
|
||||
// Allow automatic cast from LEX_STRING to LEX_CSTRING in c++.
|
||||
operator struct st_mysql_const_lex_string() const
|
||||
{
|
||||
return {str, length};
|
||||
}
|
||||
#endif
|
||||
};
|
||||
typedef struct st_mysql_lex_string MYSQL_LEX_STRING;
|
||||
|
||||
extern struct thd_alloc_service_st {
|
||||
void *(*thd_alloc_func)(const MYSQL_THD, size_t);
|
||||
void *(*thd_calloc_func)(const MYSQL_THD, size_t);
|
||||
|
Reference in New Issue
Block a user