Change find_type family to accept const TYPELIB*.

include/mysql_h.ic:
  Change find_type family to accept const TYPELIB*.
  This sort of change can not break the ABI.
This commit is contained in:
unknown 2007-03-27 20:27:58 +04:00
parent d9b8e466bf
commit 66fcdd5403
5 changed files with 12 additions and 7 deletions

View File

@ -638,7 +638,7 @@ extern TYPELIB * copy_typelib(MEM_ROOT * root, TYPELIB * from);
# 415 "mysql_com.h" # 415 "mysql_com.h"
extern void create_random_string(char * to, unsigned int, struct rand_struct * rand_st); extern void create_random_string(char * to, unsigned int, struct rand_struct * rand_st);
# 30 "typelib.h" # 30 "typelib.h"
extern int find_type(char * x, TYPELIB * typelib, unsigned int); extern int find_type(char * x, const TYPELIB * typelib, unsigned int);
# 429 "mysql_com.h" # 429 "mysql_com.h"
extern void get_salt_from_password(unsigned char * res, char const * password); extern void get_salt_from_password(unsigned char * res, char const * password);
# 422 "mysql_com.h" # 422 "mysql_com.h"

View File

@ -26,7 +26,8 @@ typedef struct st_typelib { /* Different types saved here */
unsigned int *type_lengths; unsigned int *type_lengths;
} TYPELIB; } TYPELIB;
extern int find_type(char *x,TYPELIB *typelib,unsigned int full_name); extern int find_type(const char *x, const TYPELIB *typelib,
unsigned int full_name);
extern void make_type(char *to,unsigned int nr,TYPELIB *typelib); extern void make_type(char *to,unsigned int nr,TYPELIB *typelib);
extern const char *get_type(TYPELIB *typelib,unsigned int nr); extern const char *get_type(TYPELIB *typelib,unsigned int nr);
extern TYPELIB *copy_typelib(MEM_ROOT *root, TYPELIB *from); extern TYPELIB *copy_typelib(MEM_ROOT *root, TYPELIB *from);

View File

@ -42,7 +42,7 @@
>0 Offset+1 in typelib for matched string >0 Offset+1 in typelib for matched string
*/ */
int find_type(my_string x, TYPELIB *typelib, uint full_name) int find_type(const char *x, const TYPELIB *typelib, uint full_name)
{ {
int find,pos,findpos; int find,pos,findpos;
reg1 my_string i; reg1 my_string i;

View File

@ -1561,8 +1561,10 @@ extern bool check_reserved_words(LEX_STRING *name);
/* strfunc.cc */ /* strfunc.cc */
ulonglong find_set(TYPELIB *lib, const char *x, uint length, CHARSET_INFO *cs, ulonglong find_set(TYPELIB *lib, const char *x, uint length, CHARSET_INFO *cs,
char **err_pos, uint *err_len, bool *set_warning); char **err_pos, uint *err_len, bool *set_warning);
uint find_type(TYPELIB *lib, const char *find, uint length, bool part_match); uint find_type(const TYPELIB *lib, const char *find, uint length,
uint find_type2(TYPELIB *lib, const char *find, uint length, CHARSET_INFO *cs); bool part_match);
uint find_type2(const TYPELIB *lib, const char *find, uint length,
CHARSET_INFO *cs);
void unhex_type2(TYPELIB *lib); void unhex_type2(TYPELIB *lib);
uint check_word(TYPELIB *lib, const char *val, const char *end, uint check_word(TYPELIB *lib, const char *val, const char *end,
const char **end_of_word); const char **end_of_word);

View File

@ -104,7 +104,8 @@ ulonglong find_set(TYPELIB *lib, const char *str, uint length, CHARSET_INFO *cs,
> 0 position in TYPELIB->type_names +1 > 0 position in TYPELIB->type_names +1
*/ */
uint find_type(TYPELIB *lib, const char *find, uint length, bool part_match) uint find_type(const TYPELIB *lib, const char *find, uint length,
bool part_match)
{ {
uint found_count=0, found_pos=0; uint found_count=0, found_pos=0;
const char *end= find+length; const char *end= find+length;
@ -144,7 +145,8 @@ uint find_type(TYPELIB *lib, const char *find, uint length, bool part_match)
>0 Offset+1 in typelib for matched string >0 Offset+1 in typelib for matched string
*/ */
uint find_type2(TYPELIB *typelib, const char *x, uint length, CHARSET_INFO *cs) uint find_type2(const TYPELIB *typelib, const char *x, uint length,
CHARSET_INFO *cs)
{ {
int pos; int pos;
const char *j; const char *j;