version 1.23, 2020/06/10 21:01:50 |
version 1.24, 2020/06/10 21:02:19 |
|
|
int i; |
int i; |
int num, m, commafound, digitfound; |
int num, m, commafound, digitfound; |
const uschar *startreptok; |
const uschar *startreptok; |
|
static int parens = 0; |
|
|
rescan: |
rescan: |
starttok = prestr; |
starttok = prestr; |
|
|
case '\0': prestr--; return '\0'; |
case '\0': prestr--; return '\0'; |
case '^': |
case '^': |
case '$': |
case '$': |
|
return c; |
case '(': |
case '(': |
case ')': |
parens++; |
return c; |
return c; |
|
case ')': |
|
if (parens) { |
|
parens--; |
|
return c; |
|
} |
|
/* unmatched close parenthesis; per POSIX, treat as literal */ |
|
rlxval = c; |
|
return CHAR; |
case '\\': |
case '\\': |
rlxval = quoted(&prestr); |
rlxval = quoted(&prestr); |
return CHAR; |
return CHAR; |