- /* The pattern starts with the first character after "NO-REQUEST-TAG:" */
- const char *tag_pattern = buf + 15;
- pattern->flags |= PATTERN_SPEC_NO_REQUEST_TAG_PATTERN;
- return compile_pattern(tag_pattern, NO_ANCHORING, pattern, &pattern->pattern.tag_regex);
- }
- if (0 == strncmpic(pattern->spec, "NO-RESPONSE-TAG:", 16))
- {
- /* The pattern starts with the first character after "NO-RESPONSE-TAG:" */
- const char *tag_pattern = buf + 16;
- pattern->flags |= PATTERN_SPEC_NO_RESPONSE_TAG_PATTERN;
- return compile_pattern(tag_pattern, NO_ANCHORING, pattern, &pattern->pattern.tag_regex);
+ if (0 == strncmpic(pattern->spec, tag_pattern[i].prefix, tag_pattern[i].prefix_length))
+ {
+ /* The regex starts after the prefix */
+ const char *tag_regex = buf + tag_pattern[i].prefix_length;
+
+ pattern->flags |= tag_pattern[i].flag;
+
+ return compile_pattern(tag_regex, NO_ANCHORING, pattern,
+ &pattern->pattern.tag_regex);
+ }