summaryrefslogtreecommitdiff
path: root/vala/valageniescanner.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2018-05-16 11:13:19 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2018-05-16 13:23:38 +0200
commitde5bd62298cb18b3a5b9d1eca37d27546937535e (patch)
tree20abf3f48d3bf45412da126f329aacd0a395d7aa /vala/valageniescanner.vala
parentbc17dd4396c1118d0f3043e9430967f7ef9a301f (diff)
downloadvala-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.vala12
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') {