}
+#define REGEX_CHARS "^[]{}()|.*+?!\"$"
/**
* search_term: Parse CCL search term.
* cclp: CCL Parser
{
if (j > 0 && src_str[j-1] == '\\')
{
- if (regex_trunc && strchr("()[]?*.", src_str[j]))
+ if (regex_trunc && strchr(REGEX_CHARS "\\", src_str[j]))
{
regex_trunc = 2;
strcat(p->u.t.term, "\\\\");
}
+ if (src_str[j] == '\\')
+ strcat(p->u.t.term, "\\");
strxcat(p->u.t.term, src_str + j, 1);
}
else if (src_str[j] == '"')
}
else if (src_str[j] != '\\')
{
- if (regex_trunc && strchr("()[]?*.", src_str[j]))
+ if (regex_trunc && strchr(REGEX_CHARS, src_str[j]))
{
regex_trunc = 2;
strcat(p->u.t.term, "\\\\");