MINOR: vars: use the vars types as argument in place of opaque type

The (http|tcp)-(request|response) action rules use common
opaque type. For the HAProxy embbedded feature, types are know,
it better to add this types in the action union and use it.
diff --git a/src/vars.c b/src/vars.c
index 68f44bc..50fb36a 100644
--- a/src/vars.c
+++ b/src/vars.c
@@ -502,32 +502,32 @@
 static int action_tcp_req_store(struct act_rule *rule, struct proxy *px,
                                 struct session *sess, struct stream *s)
 {
-	return action_store(rule->arg.act.p[0], rule->arg.act.p[1],
-	                    (long)rule->arg.act.p[2], px, s, SMP_OPT_DIR_REQ);
+	return action_store(rule->arg.vars.expr, rule->arg.vars.name,
+	                    rule->arg.vars.scope, px, s, SMP_OPT_DIR_REQ);
 }
 
 /* Wrapper for action_store */
 static int action_tcp_res_store(struct act_rule *rule, struct proxy *px,
                                 struct session *sess, struct stream *s)
 {
-	return action_store(rule->arg.act.p[0], rule->arg.act.p[1],
-	                    (long)rule->arg.act.p[2], px, s, SMP_OPT_DIR_RES);
+	return action_store(rule->arg.vars.expr, rule->arg.vars.name,
+	                    rule->arg.vars.scope, px, s, SMP_OPT_DIR_RES);
 }
 
 /* Wrapper for action_store */
 static int action_http_req_store(struct act_rule *rule, struct proxy *px,
                                  struct session *sess, struct stream *s)
 {
-	return action_store(rule->arg.act.p[0], rule->arg.act.p[1],
-	                    (long)rule->arg.act.p[2], px, s, SMP_OPT_DIR_REQ);
+	return action_store(rule->arg.vars.expr, rule->arg.vars.name,
+	                    rule->arg.vars.scope, px, s, SMP_OPT_DIR_REQ);
 }
 
 /* Wrapper for action_store */
 static int action_http_res_store(struct act_rule *rule, struct proxy *px,
                                  struct session *sess, struct stream *s)
 {
-	return action_store(rule->arg.act.p[0], rule->arg.act.p[1],
-	                    (long)rule->arg.act.p[2], px, s, SMP_OPT_DIR_RES);
+	return action_store(rule->arg.vars.expr, rule->arg.vars.name,
+	                    rule->arg.vars.scope, px, s, SMP_OPT_DIR_RES);
 }
 
 /* This two function checks the variable name and replace the
@@ -560,7 +560,7 @@
  */
 static int parse_vars(const char **args, int *arg, struct proxy *px,
                       int flags, char **err, struct sample_expr **expr,
-                      char **name, enum vars_scope *scope)
+                      const char **name, enum vars_scope *scope)
 {
 	const char *var_name = args[*arg-1];
 	int var_len;
@@ -606,9 +606,9 @@
                                struct act_rule *rule, char **err)
 {
 	if (!parse_vars(args, arg, px, SMP_VAL_FE_REQ_CNT, err,
-                   (struct sample_expr **)&rule->arg.act.p[0],
-                   (char **)&rule->arg.act.p[1],
-                   (enum vars_scope *)&rule->arg.act.p[2]))
+                   &rule->arg.vars.expr,
+                   &rule->arg.vars.name,
+                   &rule->arg.vars.scope))
 		return 0;
 	rule->action       = TCP_ACT_CUSTOM_CONT;
 	rule->action_ptr   = action_tcp_req_store;
@@ -620,9 +620,9 @@
                          struct act_rule *rule, char **err)
 {
 	if (!parse_vars(args, arg, px, SMP_VAL_BE_RES_CNT, err,
-                   (struct sample_expr **)&rule->arg.act.p[0],
-                   (char **)&rule->arg.act.p[1],
-                   (enum vars_scope *)&rule->arg.act.p[2]))
+                   &rule->arg.vars.expr,
+                   &rule->arg.vars.name,
+                   &rule->arg.vars.scope))
 		return 0;
 	rule->action       = TCP_ACT_CUSTOM_CONT;
 	rule->action_ptr   = action_tcp_res_store;
@@ -634,9 +634,9 @@
                          struct act_rule *rule, char **err)
 {
 	if (!parse_vars(args, arg, px, SMP_VAL_FE_HRQ_HDR, err,
-                   (struct sample_expr **)&rule->arg.act.p[0],
-                   (char **)&rule->arg.act.p[1],
-                   (enum vars_scope *)&rule->arg.act.p[2]))
+                   &rule->arg.vars.expr,
+                   &rule->arg.vars.name,
+                   &rule->arg.vars.scope))
 		return -1;
 	rule->action       = HTTP_REQ_ACT_CUSTOM_CONT;
 	rule->action_ptr   = action_http_req_store;
@@ -648,9 +648,9 @@
                          struct act_rule *rule, char **err)
 {
 	if (!parse_vars(args, arg, px, SMP_VAL_BE_HRS_HDR, err,
-                   (struct sample_expr **)&rule->arg.act.p[0],
-                   (char **)&rule->arg.act.p[1],
-                   (enum vars_scope *)&rule->arg.act.p[2]))
+                   &rule->arg.vars.expr,
+                   &rule->arg.vars.name,
+                   &rule->arg.vars.scope))
 		return -1;
 	rule->action       = HTTP_RES_ACT_CUSTOM_CONT;
 	rule->action_ptr   = action_http_res_store;