1// negated overlapping ranges in a regex bracket 2// were not handled correctly by tre 3#include <regex.h> 4#include "test.h" 5 6int 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, 0); 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 return t_status; 26} 27