diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2018-05-16 11:13:19 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2018-05-16 13:23:38 +0200 |
commit | de5bd62298cb18b3a5b9d1eca37d27546937535e (patch) | |
tree | 20abf3f48d3bf45412da126f329aacd0a395d7aa /vala/valageniescanner.vala | |
parent | bc17dd4396c1118d0f3043e9430967f7ef9a301f (diff) | |
download | vala-de5bd62298cb18b3a5b9d1eca37d27546937535e.tar.gz |
scanner: Accept backreferences \1 through \99 in regex literals
https://bugzilla.gnome.org/show_bug.cgi?id=728574
Diffstat (limited to 'vala/valageniescanner.vala')
-rw-r--r-- | vala/valageniescanner.vala | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/vala/valageniescanner.vala b/vala/valageniescanner.vala index 5ada03a0d..5eb15f02c 100644 --- a/vala/valageniescanner.vala +++ b/vala/valageniescanner.vala @@ -240,7 +240,17 @@ public class Vala.Genie.Scanner { } break; default: - Report.error (get_source_reference (token_length_in_chars), "invalid escape sequence"); + // back references \1 through \99 + if (current[0].isdigit ()) { + current++; + token_length_in_chars++; + if (current[0].isdigit ()) { + current++; + token_length_in_chars++; + } + } else { + Report.error (get_source_reference (token_length_in_chars), "invalid escape sequence"); + } break; } } else if (current[0] == '\n') { |