MEDIUM: pattern_find_smp: functions find_smp uses the pat_ref_elt to find the element to be removed

The find_smp search the smp using the value of the pat_ref_elt pointer.

The pat_find_smp_* are no longer used. The function pattern_find_smp()
known all pattern indexation, and can be found
diff --git a/include/proto/pattern.h b/include/proto/pattern.h
index be9975e..c04daeb 100644
--- a/include/proto/pattern.h
+++ b/include/proto/pattern.h
@@ -76,20 +76,6 @@
 
 /*
  *
- * The following function lookup the pattern and return a pointer on the
- * pointer containing the sample expression. This is useful to replace
- * the sample.
- *
- */
-struct sample_storage **pat_find_smp_list_val(struct pattern_expr *expr, struct pattern *pattern);
-struct sample_storage **pat_find_smp_tree_ip(struct pattern_expr *expr, struct pattern *pattern);
-struct sample_storage **pat_find_smp_list_ptr(struct pattern_expr *expr, struct pattern *pattern);
-struct sample_storage **pat_find_smp_tree_str(struct pattern_expr *expr, struct pattern *pattern);
-struct sample_storage **pat_find_smp_list_str(struct pattern_expr *expr, struct pattern *pattern);
-struct sample_storage **pat_find_smp_list_reg(struct pattern_expr *expr, struct pattern *pattern);
-
-/*
- *
  * The following functions clean all entries of a pattern expression and
  * reset the tree and list root.
  *
@@ -189,6 +175,7 @@
 int pat_ref_append(struct pat_ref *ref, char *pattern, char *sample, int line);
 int pat_ref_add(struct pat_ref *ref, const char *pattern, const char *sample, char **err);
 int pat_ref_set(struct pat_ref *ref, const char *pattern, const char *sample);
+int pat_ref_set_by_id(struct pat_ref *ref, struct pat_ref_elt *refelt, const char *value);
 int pat_ref_delete(struct pat_ref *ref, const char *key);
 int pat_ref_delete_by_id(struct pat_ref *ref, struct pat_ref_elt *refelt);
 void pat_ref_prune(struct pat_ref *ref);
@@ -207,7 +194,7 @@
 void pattern_init_expr(struct pattern_expr *expr);
 struct pattern_expr *pattern_lookup_expr(struct pattern_head *head, struct pat_ref *ref);
 struct pattern_expr *pattern_new_expr(struct pattern_head *head, struct pat_ref *ref, char **err);
-struct sample_storage **pattern_find_smp(const char *key, struct pattern_expr *expr, char **err);
+struct sample_storage **pattern_find_smp(struct pattern_expr *expr, struct pat_ref_elt *elt);
 int pattern_delete(struct pattern_expr *expr, struct pat_ref_elt *ref);
 
 
diff --git a/include/types/acl.h b/include/types/acl.h
index 1956ec3..908b0e5 100644
--- a/include/types/acl.h
+++ b/include/types/acl.h
@@ -95,7 +95,6 @@
 	int (*parse)(const char *text, struct pattern *pattern, char **err);
 	int (*index)(struct pattern_expr *expr, struct pattern *pattern, char **err);
 	void (*delete)(struct pattern_expr *expr, struct pat_ref_elt *);
-	struct sample_storage **(*find_smp)(struct pattern_expr *, struct pattern *);
 	void (*prune)(struct pattern_expr *expr);
 	struct pattern *(*match)(struct sample *smp, struct pattern_expr *expr, int fill);
 	/* must be after the config params */
diff --git a/include/types/pattern.h b/include/types/pattern.h
index a9dd033..99f68cd 100644
--- a/include/types/pattern.h
+++ b/include/types/pattern.h
@@ -208,7 +208,6 @@
 	int (*parse_smp)(const char *text, struct sample_storage *smp);
 	int (*index)(struct pattern_expr *, struct pattern *, char **);
 	void (*delete)(struct pattern_expr *, struct pat_ref_elt *);
-	struct sample_storage **(*find_smp)(struct pattern_expr *, struct pattern *);
 	void (*prune)(struct pattern_expr *);
 	struct pattern *(*match)(struct sample *, struct pattern_expr *, int);
 	int expect_type; /* type of the expected sample (SMP_T_*) */
@@ -220,7 +219,6 @@
 extern int (*pat_parse_fcts[PAT_MATCH_NUM])(const char *, struct pattern *, char **);
 extern int (*pat_index_fcts[PAT_MATCH_NUM])(struct pattern_expr *, struct pattern *, char **);
 extern void (*pat_delete_fcts[PAT_MATCH_NUM])(struct pattern_expr *, struct pat_ref_elt *);
-extern struct sample_storage **(*pat_find_smp_fcts[PAT_MATCH_NUM])(struct pattern_expr *, struct pattern *);
 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);
 extern int pat_match_types[PAT_MATCH_NUM];