CLEANUP: pattern: remove pat_delete_fcts[] and pattern_head->delete()
These ones are not used anymore, so let's remove them to remove a bit
of the complexity. The ACL keyword's delete() function could be removed
as well, though most keyword declarations are positional and we have a
high risk of introducing a mistake here, so let's not touch the ACL part.
diff --git a/include/haproxy/pattern-t.h b/include/haproxy/pattern-t.h
index 8c01760..477b2bb 100644
--- a/include/haproxy/pattern-t.h
+++ b/include/haproxy/pattern-t.h
@@ -216,7 +216,6 @@
int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
int (*parse_smp)(const char *text, struct sample_data *data);
int (*index)(struct pattern_expr *, struct pattern *, char **);
- void (*delete)(struct pat_ref *, struct pat_ref_elt *);
void (*prune)(struct pattern_expr *);
struct pattern *(*match)(struct sample *, struct pattern_expr *, int);
int expect_type; /* type of the expected sample (SMP_T_*) */
diff --git a/include/haproxy/pattern.h b/include/haproxy/pattern.h
index 844bc91..b6f1a38 100644
--- a/include/haproxy/pattern.h
+++ b/include/haproxy/pattern.h
@@ -34,7 +34,6 @@
extern int (*pat_parse_fcts[PAT_MATCH_NUM])(const char *, struct pattern *, int, char **);
extern int (*pat_index_fcts[PAT_MATCH_NUM])(struct pattern_expr *, struct pattern *, char **);
-extern void (*pat_delete_fcts[PAT_MATCH_NUM])(struct pat_ref *, struct pat_ref_elt *);
extern void (*pat_prune_fcts[PAT_MATCH_NUM])(struct pattern_expr *);
extern struct pattern *(*pat_match_fcts[PAT_MATCH_NUM])(struct sample *, struct pattern_expr *, int);
diff --git a/src/acl.c b/src/acl.c
index 5dc77a0..abfcf21 100644
--- a/src/acl.c
+++ b/src/acl.c
@@ -340,7 +340,6 @@
expr->pat.parse = aclkw->parse ? aclkw->parse : pat_parse_fcts[aclkw->match_type];
expr->pat.index = aclkw->index ? aclkw->index : pat_index_fcts[aclkw->match_type];
expr->pat.match = aclkw->match ? aclkw->match : pat_match_fcts[aclkw->match_type];
- expr->pat.delete = aclkw->delete ? aclkw->delete : pat_delete_fcts[aclkw->match_type];
expr->pat.prune = aclkw->prune ? aclkw->prune : pat_prune_fcts[aclkw->match_type];
}
@@ -354,7 +353,6 @@
expr->pat.parse = pat_parse_fcts[PAT_MATCH_BOOL];
expr->pat.index = pat_index_fcts[PAT_MATCH_BOOL];
expr->pat.match = pat_match_fcts[PAT_MATCH_BOOL];
- expr->pat.delete = pat_delete_fcts[PAT_MATCH_BOOL];
expr->pat.prune = pat_prune_fcts[PAT_MATCH_BOOL];
expr->pat.expect_type = pat_match_types[PAT_MATCH_BOOL];
break;
@@ -362,7 +360,6 @@
expr->pat.parse = pat_parse_fcts[PAT_MATCH_INT];
expr->pat.index = pat_index_fcts[PAT_MATCH_INT];
expr->pat.match = pat_match_fcts[PAT_MATCH_INT];
- expr->pat.delete = pat_delete_fcts[PAT_MATCH_INT];
expr->pat.prune = pat_prune_fcts[PAT_MATCH_INT];
expr->pat.expect_type = pat_match_types[PAT_MATCH_INT];
break;
@@ -372,7 +369,6 @@
expr->pat.parse = pat_parse_fcts[PAT_MATCH_IP];
expr->pat.index = pat_index_fcts[PAT_MATCH_IP];
expr->pat.match = pat_match_fcts[PAT_MATCH_IP];
- expr->pat.delete = pat_delete_fcts[PAT_MATCH_IP];
expr->pat.prune = pat_prune_fcts[PAT_MATCH_IP];
expr->pat.expect_type = pat_match_types[PAT_MATCH_IP];
break;
@@ -380,7 +376,6 @@
expr->pat.parse = pat_parse_fcts[PAT_MATCH_STR];
expr->pat.index = pat_index_fcts[PAT_MATCH_STR];
expr->pat.match = pat_match_fcts[PAT_MATCH_STR];
- expr->pat.delete = pat_delete_fcts[PAT_MATCH_STR];
expr->pat.prune = pat_prune_fcts[PAT_MATCH_STR];
expr->pat.expect_type = pat_match_types[PAT_MATCH_STR];
break;
@@ -465,7 +460,6 @@
expr->pat.parse = pat_parse_fcts[idx];
expr->pat.index = pat_index_fcts[idx];
expr->pat.match = pat_match_fcts[idx];
- expr->pat.delete = pat_delete_fcts[idx];
expr->pat.prune = pat_prune_fcts[idx];
expr->pat.expect_type = pat_match_types[idx];
args++;
diff --git a/src/map.c b/src/map.c
index 8cfbbe5..ee022e2 100644
--- a/src/map.c
+++ b/src/map.c
@@ -120,7 +120,6 @@
desc->pat.match = pat_match_fcts[(long)conv->private];
desc->pat.parse = pat_parse_fcts[(long)conv->private];
desc->pat.index = pat_index_fcts[(long)conv->private];
- desc->pat.delete = pat_delete_fcts[(long)conv->private];
desc->pat.prune = pat_prune_fcts[(long)conv->private];
desc->pat.expect_type = pat_match_types[(long)conv->private];
diff --git a/src/pattern.c b/src/pattern.c
index 89a5c48..6659364 100644
--- a/src/pattern.c
+++ b/src/pattern.c
@@ -79,23 +79,6 @@
[PAT_MATCH_REGM] = pat_idx_list_regm,
};
-void (*pat_delete_fcts[PAT_MATCH_NUM])(struct pat_ref *, struct pat_ref_elt *) = {
- [PAT_MATCH_FOUND] = pat_delete_gen,
- [PAT_MATCH_BOOL] = pat_delete_gen,
- [PAT_MATCH_INT] = pat_delete_gen,
- [PAT_MATCH_IP] = pat_delete_gen,
- [PAT_MATCH_BIN] = pat_delete_gen,
- [PAT_MATCH_LEN] = pat_delete_gen,
- [PAT_MATCH_STR] = pat_delete_gen,
- [PAT_MATCH_BEG] = pat_delete_gen,
- [PAT_MATCH_SUB] = pat_delete_gen,
- [PAT_MATCH_DIR] = pat_delete_gen,
- [PAT_MATCH_DOM] = pat_delete_gen,
- [PAT_MATCH_END] = pat_delete_gen,
- [PAT_MATCH_REG] = pat_delete_gen,
- [PAT_MATCH_REGM] = pat_delete_gen,
-};
-
void (*pat_prune_fcts[PAT_MATCH_NUM])(struct pattern_expr *) = {
[PAT_MATCH_FOUND] = pat_prune_gen,
[PAT_MATCH_BOOL] = pat_prune_gen,