summaryrefslogtreecommitdiff
path: root/src/regparse.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/regparse.h')
-rw-r--r--src/regparse.h24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/regparse.h b/src/regparse.h
index b7260ea..57219a4 100644
--- a/src/regparse.h
+++ b/src/regparse.h
@@ -100,10 +100,12 @@ enum GimmickType {
#define ANCHOR_ANYCHAR_STAR_MASK (ANCHOR_ANYCHAR_STAR | ANCHOR_ANYCHAR_STAR_ML)
#define ANCHOR_END_BUF_MASK (ANCHOR_END_BUF | ANCHOR_SEMI_END_BUF)
-#define ENCLOSURE_MEMORY (1<<0)
-#define ENCLOSURE_OPTION (1<<1)
-#define ENCLOSURE_STOP_BACKTRACK (1<<2)
-#define ENCLOSURE_IF_ELSE (1<<3)
+enum EnclosureType {
+ ENCLOSURE_MEMORY = 0,
+ ENCLOSURE_OPTION = 1,
+ ENCLOSURE_STOP_BACKTRACK = 2,
+ ENCLOSURE_IF_ELSE = 3,
+};
#define NODE_STRING_MARGIN 16
#define NODE_STRING_BUF_SIZE 24 /* sizeof(CClassNode) - sizeof(int)*4 */
@@ -125,7 +127,7 @@ enum GimmickType {
(((node)->u.str.flag & STRING_DONT_GET_OPT_INFO) != 0)
#define BACKREFS_P(br) \
- (IS_NOT_NULL((br)->back_dynamic) ? (br)->back_dynamic : (br)->back_static);
+ (IS_NOT_NULL((br)->back_dynamic) ? (br)->back_dynamic : (br)->back_static)
#define QUANT_BODY_IS_NOT_EMPTY 0
#define QUANT_BODY_IS_EMPTY 1
@@ -233,7 +235,7 @@ typedef struct {
int status;
struct _Node* body;
- int type;
+ enum EnclosureType type;
union {
struct {
int regnum;
@@ -301,6 +303,7 @@ typedef struct {
int type;
int char_len;
+ int ascii_mode;
} AnchorNode;
typedef struct {
@@ -318,6 +321,7 @@ typedef struct {
int ctype;
int not;
OnigOptionType options;
+ int ascii_mode;
} CtypeNode;
typedef struct {
@@ -392,9 +396,7 @@ typedef struct {
int has_call_zero;
#endif
int num_mem;
-#ifdef USE_NAMED_GROUP
int num_named;
-#endif
int mem_alloc;
MemEnv mem_env_static[SCANENV_MEMENV_SIZE];
MemEnv* mem_env_dynamic;
@@ -417,13 +419,11 @@ typedef struct {
#define IS_SYNTAX_OP2(syn, opm) (((syn)->op2 & (opm)) != 0)
#define IS_SYNTAX_BV(syn, bvm) (((syn)->behavior & (bvm)) != 0)
-#ifdef USE_NAMED_GROUP
typedef struct {
int new_val;
} GroupNumRemap;
extern int onig_renumber_name_table P_((regex_t* reg, GroupNumRemap* map));
-#endif
extern int onig_strncmp P_((const UChar* s1, const UChar* s2, int n));
extern void onig_strcpy P_((UChar* dest, const UChar* src, const UChar* end));
@@ -435,7 +435,7 @@ extern int onig_node_str_cat P_((Node* node, const UChar* s, const UChar* end
extern int onig_node_str_set P_((Node* node, const UChar* s, const UChar* end));
extern void onig_node_free P_((Node* node));
extern Node* onig_node_new_enclosure P_((int type));
-extern Node* onig_node_new_anchor P_((int type));
+extern Node* onig_node_new_anchor P_((int type, int ascii_mode));
extern Node* onig_node_new_str P_((const UChar* s, const UChar* end));
extern Node* onig_node_new_list P_((Node* left, Node* right));
extern Node* onig_node_list_add P_((Node* list, Node* x));
@@ -448,9 +448,7 @@ extern int onig_is_code_in_cc P_((OnigEncoding enc, OnigCodePoint code, CClas
extern OnigLen onig_get_tiny_min_len(Node* node, unsigned int inhibit_node_types, int* invalid_node);
#ifdef ONIG_DEBUG
-#ifdef USE_NAMED_GROUP
extern int onig_print_names(FILE*, regex_t*);
#endif
-#endif
#endif /* REGPARSE_H */