Improvements and fixes to strchr_esc_mysql

The C style comments were not ignored and the -- style comments
did not check for the trailing whitespace and made return values char*.

The creation of a stored procedure would prevent sessions from using
any of the slave servers because readwritesplit would interpret
the creation statement as a multi-statement query.

Parts of modutil and readwritesplit now compare pointers to pointers instead of
converting pointers to integers.
This commit is contained in:
Markus Makela
2016-03-02 16:06:19 +02:00
parent 2589630b8e
commit 8b6595aa68
3 changed files with 68 additions and 24 deletions

View File

@ -69,8 +69,9 @@ int modutil_count_signal_packets(GWBUF*,int,int,int*);
mxs_pcre2_result_t modutil_mysql_wildcard_match(const char* pattern, const char* string);
/** Character and token searching functions */
void* strnchr_esc(char* ptr, char c, int len);
void* strnchr_esc_mysql(char* ptr, char c, int len);
char* strnchr_esc(char* ptr, char c, int len);
char* strnchr_esc_mysql(char* ptr, char c, int len);
bool is_mysql_comment_start(const char* start, int len);
bool is_mysql_sp_end(const char* start, int len);
#endif