diff options
author | Alexander Barkov <bar@mnogosearch.org> | 2013-10-15 10:26:08 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mnogosearch.org> | 2013-10-15 10:26:08 +0400 |
commit | a9240dce9e2f32941611b4f1a52e3b30a1508fc2 (patch) | |
tree | ab7a7ec71341e29676d9a6bb039aeface4f88ce6 /client/mysqltest.cc | |
parent | 2c0a073970cf5f1dc679b34bb13e7fc55109dfd0 (diff) | |
parent | eb2c6f451392396ef2ca74f1dba761fc4459d171 (diff) | |
download | mariadb-git-a9240dce9e2f32941611b4f1a52e3b30a1508fc2.tar.gz |
Merge 10.0-base -> 10.0
Diffstat (limited to 'client/mysqltest.cc')
-rw-r--r-- | client/mysqltest.cc | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/client/mysqltest.cc b/client/mysqltest.cc index 629f85fe2ee..267ba705b9d 100644 --- a/client/mysqltest.cc +++ b/client/mysqltest.cc @@ -44,7 +44,8 @@ #include <hash.h> #include <stdarg.h> #include <violite.h> -#include "my_regex.h" /* Our own version of regex */ +#define PCRE_STATIC 1 /* Important on Windows */ +#include "pcreposix.h" /* pcreposix regex library */ #ifdef HAVE_SYS_WAIT_H #include <sys/wait.h> #endif @@ -250,12 +251,12 @@ static const char *opt_suite_dir, *opt_overlay_dir; static size_t suite_dir_len, overlay_dir_len; /* Precompiled re's */ -static my_regex_t ps_re; /* the query can be run using PS protocol */ -static my_regex_t sp_re; /* the query can be run as a SP */ -static my_regex_t view_re; /* the query can be run as a view*/ +static regex_t ps_re; /* the query can be run using PS protocol */ +static regex_t sp_re; /* the query can be run as a SP */ +static regex_t view_re; /* the query can be run as a view*/ static void init_re(void); -static int match_re(my_regex_t *, char *); +static int match_re(regex_t *, char *); static void free_re(void); static char *get_string(char **to_ptr, char **from_ptr, @@ -7254,13 +7255,13 @@ void str_to_file(const char *fname, char *str, int size) } -void check_regerr(my_regex_t* r, int err) +void check_regerr(regex_t* r, int err) { char err_buf[1024]; if (err) { - my_regerror(err,r,err_buf,sizeof(err_buf)); + regerror(err,r,err_buf,sizeof(err_buf)); die("Regex error: %s\n", err_buf); } } @@ -8552,19 +8553,18 @@ char *re_eprint(int err) { static char epbuf[100]; size_t len __attribute__((unused))= - my_regerror(REG_ITOA|err, (my_regex_t *)NULL, epbuf, sizeof(epbuf)); + regerror(REG_ITOA|err, (regex_t *)NULL, epbuf, sizeof(epbuf)); assert(len <= sizeof(epbuf)); return(epbuf); } -void init_re_comp(my_regex_t *re, const char* str) +void init_re_comp(regex_t *re, const char* str) { - int err= my_regcomp(re, str, (REG_EXTENDED | REG_ICASE | REG_NOSUB), - &my_charset_latin1); + int err= regcomp(re, str, (REG_EXTENDED | REG_ICASE | REG_NOSUB | REG_DOTALL)); if (err) { char erbuf[100]; - int len= my_regerror(err, re, erbuf, sizeof(erbuf)); + int len= regerror(err, re, erbuf, sizeof(erbuf)); die("error %s, %d/%d `%s'\n", re_eprint(err), (int)len, (int)sizeof(erbuf), erbuf); } @@ -8609,7 +8609,7 @@ void init_re(void) } -int match_re(my_regex_t *re, char *str) +int match_re(regex_t *re, char *str) { while (my_isspace(charset_info, *str)) str++; @@ -8621,7 +8621,7 @@ int match_re(my_regex_t *re, char *str) str= comm_end + 2; } - int err= my_regexec(re, str, (size_t)0, NULL, 0); + int err= regexec(re, str, (size_t)0, NULL, 0); if (err == 0) return 1; @@ -8630,7 +8630,7 @@ int match_re(my_regex_t *re, char *str) { char erbuf[100]; - int len= my_regerror(err, re, erbuf, sizeof(erbuf)); + int len= regerror(err, re, erbuf, sizeof(erbuf)); die("error %s, %d/%d `%s'\n", re_eprint(err), (int)len, (int)sizeof(erbuf), erbuf); } @@ -8639,10 +8639,9 @@ int match_re(my_regex_t *re, char *str) void free_re(void) { - my_regfree(&ps_re); - my_regfree(&sp_re); - my_regfree(&view_re); - my_regex_end(); + regfree(&ps_re); + regfree(&sp_re); + regfree(&view_re); } /****************************************************************************/ @@ -10081,13 +10080,13 @@ void free_replace_regex() int reg_replace(char** buf_p, int* buf_len_p, char *pattern, char *replace, char *string, int icase) { - my_regex_t r; - my_regmatch_t *subs; + regex_t r; + regmatch_t *subs; char *replace_end; char *buf= *buf_p; int len; int buf_len, need_buf_len; - int cflags= REG_EXTENDED; + int cflags= REG_EXTENDED | REG_DOTALL; int err_code; char *res_p,*str_p,*str_end; @@ -10106,13 +10105,13 @@ int reg_replace(char** buf_p, int* buf_len_p, char *pattern, if (icase) cflags|= REG_ICASE; - if ((err_code= my_regcomp(&r,pattern,cflags,&my_charset_latin1))) + if ((err_code= regcomp(&r,pattern,cflags))) { check_regerr(&r,err_code); return 1; } - subs= (my_regmatch_t*)my_malloc(sizeof(my_regmatch_t) * (r.re_nsub+1), + subs= (regmatch_t*)my_malloc(sizeof(regmatch_t) * (r.re_nsub+1), MYF(MY_WME+MY_FAE)); *res_p= 0; @@ -10123,14 +10122,14 @@ int reg_replace(char** buf_p, int* buf_len_p, char *pattern, while (!err_code) { /* find the match */ - err_code= my_regexec(&r,str_p, r.re_nsub+1, subs, + err_code= regexec(&r,str_p, r.re_nsub+1, subs, (str_p == string) ? REG_NOTBOL : 0); /* if regular expression error (eg. bad syntax, or out of memory) */ if (err_code && err_code != REG_NOMATCH) { check_regerr(&r,err_code); - my_regfree(&r); + regfree(&r); return 1; } @@ -10243,7 +10242,7 @@ int reg_replace(char** buf_p, int* buf_len_p, char *pattern, } } my_free(subs); - my_regfree(&r); + regfree(&r); *res_p= 0; *buf_p= buf; *buf_len_p= buf_len; |