MEDIUM: acl: use temp_pattern to store any integer-type information

All ACL fetches which return integer value now store the result into
the temporary pattern struct. All ACL matches which rely on integer
also get their value there.

Note: the pattern data types are not set right now.
diff --git a/src/acl.c b/src/acl.c
index f0966a5..3ea2470 100644
--- a/src/acl.c
+++ b/src/acl.c
@@ -102,7 +102,7 @@
 	if (!l4 || !l4->req)
 		return 0;
 
-	test->i = l4->req->l;
+	temp_pattern.data.integer = l4->req->l;
 	test->flags = ACL_TEST_F_VOLATILE | ACL_TEST_F_MAY_CHANGE;
 	return 1;
 }
@@ -155,7 +155,7 @@
 		goto not_ssl_hello;
 	}
 
-	test->i = hs_type;
+	temp_pattern.data.integer = hs_type;
 	test->flags = ACL_TEST_F_VOLATILE;
 
 	return 1;
@@ -268,7 +268,7 @@
 	/* OK that's enough. We have at least the whole message, and we have
 	 * the protocol version.
 	 */
-	test->i = version;
+	temp_pattern.data.integer = version;
 	test->flags = ACL_TEST_F_VOLATILE;
 	return 1;
 
@@ -552,7 +552,7 @@
 		return 0;
 
 	test->flags = ACL_TEST_F_VOLATILE;
-	test->i = ret;
+	temp_pattern.data.integer = ret;
 
 	return 1;
 }
@@ -813,8 +813,8 @@
 /* Checks that the integer in <test> is included between min and max */
 int acl_match_int(struct acl_test *test, struct acl_pattern *pattern)
 {
-	if ((!pattern->val.range.min_set || pattern->val.range.min <= test->i) &&
-	    (!pattern->val.range.max_set || test->i <= pattern->val.range.max))
+	if ((!pattern->val.range.min_set || pattern->val.range.min <= temp_pattern.data.integer) &&
+	    (!pattern->val.range.max_set || temp_pattern.data.integer <= pattern->val.range.max))
 		return ACL_PAT_PASS;
 	return ACL_PAT_FAIL;
 }