mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	to allow usage of many character sets at a time.
include/m_ctype.h:
  Added condition to simplify migrating from old ctype
  Added new style toupper, tolower which accepts charset in first argument
regex/debug.c:
  Added charset argument
regex/debug.ih:
  added charset argument
regex/engine.c:
  added charset argument
regex/engine.ih:
  added charset arguent
regex/main.c:
  added charset argument
regex/regcomp.c:
  added CHARSET_INFO field
regex/regcomp.ih:
  Added charset argument
regex/regex.h:
  Added #include <m_ctype.h> for CHARSET_INFO
  Added charset argument for regcomp()
regex/regex2.h:
  New charset argument for ISWORD()
regex/regexec.c:
  New charset argument
regex/reginit.c:
  Move to new style ctype. 
  However still needs fixes:
    instead of single static cclass variable,
    each charset must have it's own variable.
sql/item_cmpfunc.cc:
  Pass charset field into regcomp()
  This will be fixed tommorow to use String->charset
    instead of default_charset_info
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /* ========= begin header generated by ./mkh ========= */
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| /* === engine.c === */
 | |
| static int matcher(CHARSET_INFO *charset,register struct re_guts *g, char *string, size_t nmatch, regmatch_t pmatch[], int eflags);
 | |
| static char *dissect(CHARSET_INFO *charset,register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
 | |
| static char *backref(CHARSET_INFO *charset, register struct match *m, char *start, char *stop, sopno startst, sopno stopst, sopno lev);
 | |
| static char *fast(CHARSET_INFO *charset, register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
 | |
| static char *slow(CHARSET_INFO *charset, register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
 | |
| static states step(register struct re_guts *g, sopno start, sopno stop, register states bef, int ch, register states aft);
 | |
| #define	BOL	(OUT+1)
 | |
| #define	EOL	(BOL+1)
 | |
| #define	BOLEOL	(BOL+2)
 | |
| #define	NOTHING	(BOL+3)
 | |
| #define	BOW	(BOL+4)
 | |
| #define	EOW	(BOL+5)
 | |
| #define	CODEMAX	(BOL+5)		/* highest code used */
 | |
| #define	NONCHAR(c)	((c) > CHAR_MAX)
 | |
| #define	NNONCHAR	(CODEMAX-CHAR_MAX)
 | |
| #ifdef REDEBUG
 | |
| static void print(struct match *m, char *caption, states st, int ch, FILE *d);
 | |
| #endif
 | |
| #ifdef REDEBUG
 | |
| static void at(struct match *m, char *title, char *start, char *stop, sopno startst, sopno stopst);
 | |
| #endif
 | |
| #ifdef REDEBUG
 | |
| static char *printchar(int ch,char *buf);
 | |
| #endif
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| /* ========= end header generated by ./mkh ========= */
 |