signed long long value, minor;
/* The following buffer contain two numbers, a ':' separator and the final \0. */
char buffer[NB_LLMAX_STR + 1 + NB_LLMAX_STR + 1];
- int is_loaded;
+ int is_loaded, match_forced;
int unique_id;
char *error;
struct pat_ref *ref;
refflags = PAT_REF_ACL;
patflags = 0;
is_loaded = 0;
+ match_forced = 0;
unique_id = -1;
while (**args == '-') {
if (strcmp(*args, "-i") == 0)
memprintf(err, "'-m' must only be specified before patterns and files in parsing ACL expression");
goto out_free_expr;
}
+ if (match_forced) {
+ memprintf(err, "only one explicit matching method can be defined with '*m' parameter");
+ goto out_free_expr;
+ }
idx = pat_find_match_name(args[1]);
if (idx < 0) {
expr->pat.match = pat_match_fcts[idx];
expr->pat.prune = pat_prune_fcts[idx];
expr->pat.expect_type = pat_match_types[idx];
+ match_forced = 1;
args++;
}
else if (strcmp(*args, "-M") == 0) {