p->next = NULL;
 }
 
-static int isregexspecial(int c)
-{
-       return isspecial(c) || c == '$' || c == '(' || c == ')' || c == '+' ||
-                              c == '.' || c == '^' || c == '{' || c == '|';
-}
-
 static int is_fixed(const char *s)
 {
-       while (!isregexspecial(*s))
+       while (*s && !is_regex_special(*s))
                s++;
        return !*s;
 }