e560e3b84cff10e36e94a4302315cb5a422277b2
[libc-test] / src / regression / regex-negated-range.c
1 // negated overlapping ranges in a regex bracket
2 // were not handled correctly by tre
3 #include <regex.h>
4 #include "test.h"
5
6 int main(void)
7 {
8         char buf[200];
9         regex_t r;
10         int n;
11
12         n = regcomp(&r, "[^aa-z]", 0);
13         if (n) {
14                 regerror(n, &r, buf, sizeof buf);
15                 t_error("regcomp returned %d (%s)\n", n, buf);
16         }
17
18         n = regexec(&r, "k", 0, 0, REG_NOSUB);
19         if (n != REG_NOMATCH) {
20                 regerror(n, &r, buf, sizeof buf);
21                 t_error("regexec(/[^aa-z]/ ~ \"k\") returned %d (%s), wanted REG_NOMATCH\n",
22                         n, buf);
23         }
24
25         regfree(&r);
26
27         return t_status;
28 }