summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2022-12-16 12:25:58 +0100
committerTyge Løvset <[email protected]>2022-12-16 12:25:58 +0100
commite557b8b688426bdbafd3c52d941ba5a4d0dd0d0a (patch)
tree5938c9c4beabf444209c7374169e0feec9cc2942 /src
parentd13478b120d2d8ee3fb1bd0e78d1f13bce2f264a (diff)
downloadSTC-modified-e557b8b688426bdbafd3c52d941ba5a4d0dd0d0a.tar.gz
STC-modified-e557b8b688426bdbafd3c52d941ba5a4d0dd0d0a.zip
Fixed regression in cregex handing of escaped \t, \n, etc.
Diffstat (limited to 'src')
-rw-r--r--src/cregex.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/cregex.c b/src/cregex.c
index 8bac0e07..21faeb7c 100644
--- a/src/cregex.c
+++ b/src/cregex.c
@@ -590,9 +590,15 @@ _nextc(_Parser *par, _Rune *rp)
continue;
}
par->exprp += chartorune(rp, par->exprp);
- if (*rp == 'Q') {
+ switch (*rp) {
+ case 'Q':
par->litmode = true;
continue;
+ case 't': *rp = '\t'; break;
+ case 'n': *rp = '\n'; break;
+ case 'r': *rp = '\r'; break;
+ case 'v': *rp = '\v'; break;
+ case 'f': *rp = '\f'; break;
}
ret = 1;
}
@@ -614,11 +620,6 @@ _lex(_Parser *par)
return par->rune_type;
switch (par->yyrune) {
- case 't': return '\t';
- case 'n': return '\n';
- case 'r': return '\r';
- case 'v': return '\v';
- case 'f': return '\f';
case 'd': return UTF_d;
case 'D': return UTF_D;
case 's': return UTF_s;