Refactor regex and implement UTF8 mode for GRegex

- with non-unicode byte to Private Use Area A mapping
- move all ifdefs to iregex.h file only
This commit is contained in:
ailin-nemui 2017-02-16 22:48:13 +01:00
commit 79bbca4644
12 changed files with 327 additions and 132 deletions

View file

@ -1,10 +1,7 @@
#ifndef __HILIGHT_TEXT_H
#define __HILIGHT_TEXT_H
#ifndef USE_GREGEX
# include <regex.h>
#endif
#include "iregex.h"
#include "formats.h"
struct _HILIGHT_REC {
@ -24,12 +21,7 @@ struct _HILIGHT_REC {
unsigned int fullword:1; /* match `text' only for full words */
unsigned int regexp:1; /* `text' is a regular expression */
unsigned int case_sensitive:1;/* `text' must match case */
#ifdef USE_GREGEX
GRegex *preg;
#else
unsigned int regexp_compiled:1; /* should always be TRUE, unless regexp is invalid */
regex_t preg;
#endif
Regex *preg;
char *servertag;
};