MINOR: proto_http: replace generic opaque types by real used types in "http_capture" by id

This patch removes the generic opaque type for storing the configuration of the
action "http_capture" by id.
diff --git a/include/types/action.h b/include/types/action.h
index d3781cf..5cfcb57 100644
--- a/include/types/action.h
+++ b/include/types/action.h
@@ -65,6 +65,10 @@
 			struct sample_expr *expr;
 			struct cap_hdr *hdr;
 		} cap;
+		struct {
+			struct sample_expr *expr;
+			int idx;
+		} capid;
 		struct hlua_rule *hlua_rule;
 		struct {
 			struct sample_expr *expr;
diff --git a/src/proto_http.c b/src/proto_http.c
index f0ad1c2..5214d87 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -12352,9 +12352,7 @@
                                   struct session *sess, struct stream *s)
 {
 	struct sample *key;
-	struct sample_expr *expr = rule->arg.act.p[0];
 	struct cap_hdr *h;
-	int idx = (long)rule->arg.act.p[1];
 	char **cap = s->req_cap;
 	struct proxy *fe = strm_fe(s);
 	int len;
@@ -12362,12 +12360,12 @@
 
 	/* Look for the original configuration. */
 	for (h = fe->req_cap, i = fe->nb_req_cap - 1;
-	     h != NULL && i != idx ;
+	     h != NULL && i != rule->arg.capid.idx ;
 	     i--, h = h->next);
 	if (!h)
 		return 1;
 
-	key = sample_fetch_as_type(s->be, sess, s, SMP_OPT_DIR_REQ|SMP_OPT_FINAL, expr, SMP_T_STR);
+	key = sample_fetch_as_type(s->be, sess, s, SMP_OPT_DIR_REQ|SMP_OPT_FINAL, rule->arg.capid.expr, SMP_T_STR);
 	if (!key)
 		return 1;
 
@@ -12498,8 +12496,8 @@
 
 		rule->action       = HTTP_REQ_ACT_CUSTOM_CONT;
 		rule->action_ptr   = http_action_req_capture_by_id;
-		rule->arg.act.p[0] = expr;
-		rule->arg.act.p[1] = (void *)(long)id;
+		rule->arg.capid.expr = expr;
+		rule->arg.capid.idx  = id;
 	}
 
 	else {
@@ -12521,9 +12519,7 @@
                                   struct session *sess, struct stream *s)
 {
 	struct sample *key;
-	struct sample_expr *expr = rule->arg.act.p[0];
 	struct cap_hdr *h;
-	int idx = (long)rule->arg.act.p[1];
 	char **cap = s->res_cap;
 	struct proxy *fe = strm_fe(s);
 	int len;
@@ -12531,12 +12527,12 @@
 
 	/* Look for the original configuration. */
 	for (h = fe->rsp_cap, i = fe->nb_rsp_cap - 1;
-	     h != NULL && i != idx ;
+	     h != NULL && i != rule->arg.capid.idx ;
 	     i--, h = h->next);
 	if (!h)
 		return 1;
 
-	key = sample_fetch_as_type(s->be, sess, s, SMP_OPT_DIR_RES|SMP_OPT_FINAL, expr, SMP_T_STR);
+	key = sample_fetch_as_type(s->be, sess, s, SMP_OPT_DIR_RES|SMP_OPT_FINAL, rule->arg.capid.expr, SMP_T_STR);
 	if (!key)
 		return 1;
 
@@ -12622,8 +12618,8 @@
 
 	rule->action       = HTTP_RES_ACT_CUSTOM_CONT;
 	rule->action_ptr   = http_action_res_capture_by_id;
-	rule->arg.act.p[0] = expr;
-	rule->arg.act.p[1] = (void *)(long)id;
+	rule->arg.capid.expr = expr;
+	rule->arg.capid.idx  = id;
 
 	*orig_arg = cur_arg;
 	return 0;