diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/regex/regcomp.c | 31 | ||||
| -rw-r--r-- | src/regex/tre.h | 1 | 
2 files changed, 11 insertions, 21 deletions
| diff --git a/src/regex/regcomp.c b/src/regex/regcomp.c index 399989e7..5cedfd52 100644 --- a/src/regex/regcomp.c +++ b/src/regex/regcomp.c @@ -53,7 +53,6 @@ typedef struct {    tre_ctype_t class;    tre_ctype_t *neg_classes;    int backref; -  int *params;  } tre_pos_and_tags_t; @@ -103,10 +102,7 @@ typedef struct {    long code_min;    long code_max;    int position; -  union { -    tre_ctype_t class; -    int *params; -  } u; +  tre_ctype_t class;    tre_ctype_t *neg_classes;  } tre_literal_t; @@ -652,7 +648,7 @@ tre_parse_bracket_items(tre_parse_ctx_t *ctx, int negate,  	      status = tre_new_item(ctx->mem, min, max, &i, &max_i, items);  	      if (status != REG_OK)  		break; -	      ((tre_literal_t*)((*items)[i-1])->obj)->u.class = class; +	      ((tre_literal_t*)((*items)[i-1])->obj)->class = class;  	    }  	  /* Add opposite-case counterpoints if REG_ICASE is present. @@ -2231,8 +2227,7 @@ typedef enum {     iteration count to a catenated sequence of copies of the node. */  static reg_errcode_t  tre_expand_ast(tre_mem_t mem, tre_stack_t *stack, tre_ast_node_t *ast, -	       int *position, tre_tag_direction_t *tag_directions, -	       int *max_depth) +	       int *position, tre_tag_direction_t *tag_directions)  {    reg_errcode_t status = REG_OK;    int bottom = tre_stack_num_objects(stack); @@ -2531,8 +2526,7 @@ tre_set_union(tre_mem_t mem, tre_pos_and_tags_t *set1, tre_pos_and_tags_t *set2,     set to the number of tags seen on the path. */  static reg_errcode_t  tre_match_empty(tre_stack_t *stack, tre_ast_node_t *node, int *tags, -		int *assertions, int *params, int *num_tags_seen, -		int *params_seen) +		int *assertions, int *num_tags_seen)  {    tre_literal_t *lit;    tre_union_t *uni; @@ -2703,7 +2697,7 @@ tre_compute_nfl(tre_mem_t mem, tre_stack_t *stack, tre_ast_node_t *tree)  		    node->lastpos = tre_set_one(mem, lit->position,  						(int)lit->code_min,  						(int)lit->code_max, -						lit->u.class, lit->neg_classes, +						lit->class, lit->neg_classes,  						-1);  		    if (!node->lastpos)  		      return REG_ESPACE; @@ -2774,8 +2768,7 @@ tre_compute_nfl(tre_mem_t mem, tre_stack_t *stack, tre_ast_node_t *tree)  	case NFL_POST_CATENATION:  	  { -	    int num_tags, *tags, assertions, params_seen; -	    int *params; +	    int num_tags, *tags, assertions;  	    reg_errcode_t status;  	    tre_catenation_t *cat = node->obj;  	    node->nullable = cat->left->nullable && cat->right->nullable; @@ -2787,8 +2780,7 @@ tre_compute_nfl(tre_mem_t mem, tre_stack_t *stack, tre_ast_node_t *tree)  		   with tre_match_empty() to get the number of tags and  		   parameters. */  		status = tre_match_empty(stack, cat->left, -					 NULL, NULL, NULL, &num_tags, -					 ¶ms_seen); +					 NULL, NULL, &num_tags);  		if (status != REG_OK)  		  return status;  		/* Allocate arrays for the tags and parameters. */ @@ -2800,7 +2792,7 @@ tre_compute_nfl(tre_mem_t mem, tre_stack_t *stack, tre_ast_node_t *tree)  		/* Second pass with tre_mach_empty() to get the list of  		   tags and parameters. */  		status = tre_match_empty(stack, cat->left, tags, -					 &assertions, params, NULL, NULL); +					 &assertions, NULL);  		if (status != REG_OK)  		  {  		    xfree(tags); @@ -2825,8 +2817,7 @@ tre_compute_nfl(tre_mem_t mem, tre_stack_t *stack, tre_ast_node_t *tree)  		   with tre_match_empty() to get the number of tags and  		   parameters. */  		status = tre_match_empty(stack, cat->right, -					 NULL, NULL, NULL, &num_tags, -					 ¶ms_seen); +					 NULL, NULL, &num_tags);  		if (status != REG_OK)  		  return status;  		/* Allocate arrays for the tags and parameters. */ @@ -2838,7 +2829,7 @@ tre_compute_nfl(tre_mem_t mem, tre_stack_t *stack, tre_ast_node_t *tree)  		/* Second pass with tre_mach_empty() to get the list of  		   tags and parameters. */  		status = tre_match_empty(stack, cat->right, tags, -					 &assertions, params, NULL, NULL); +					 &assertions, NULL);  		if (status != REG_OK)  		  {  		    xfree(tags); @@ -3194,7 +3185,7 @@ regcomp(regex_t *restrict preg, const char *restrict regex, int cflags)    /* Expand iteration nodes. */    errcode = tre_expand_ast(mem, stack, tree, &parse_ctx.position, -			   tag_directions, &tnfa->params_depth); +			   tag_directions);    if (errcode != REG_OK)      ERROR_EXIT(errcode); diff --git a/src/regex/tre.h b/src/regex/tre.h index f4e5ab12..67cb9a84 100644 --- a/src/regex/tre.h +++ b/src/regex/tre.h @@ -167,7 +167,6 @@ struct tnfa {    int cflags;    int have_backrefs;    int have_approx; -  int params_depth;  };  /* from tre-mem.h: */ | 
