diff options
| author | Tyge Løvset <[email protected]> | 2022-12-16 12:25:58 +0100 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2022-12-16 12:25:58 +0100 |
| commit | e557b8b688426bdbafd3c52d941ba5a4d0dd0d0a (patch) | |
| tree | 5938c9c4beabf444209c7374169e0feec9cc2942 /src | |
| parent | d13478b120d2d8ee3fb1bd0e78d1f13bce2f264a (diff) | |
| download | STC-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.c | 13 |
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; |
