Some fetch() functions will require an argument (eg: header).
It's wise to provide the argument size to optimize string
comparisons.
union { /* optional argument of the subject (eg: header or cookie name) */
char *str;
} arg;
+ int arg_len; /* optional argument length */
struct list patterns; /* list of acl_patterns */
};
aclkw->use_cnt++;
LIST_INIT(&expr->patterns);
expr->arg.str = NULL;
+ expr->arg_len = 0;
arg = strchr(args[0], '(');
if (arg != NULL) {
goto out_free_expr;
memcpy(arg2, arg, end - arg);
arg2[end-arg] = '\0';
+ expr->arg_len = end - arg;
expr->arg.str = arg2;
}