mirror of
https://github.com/RGBCube/serenity
synced 2025-05-14 09:14:58 +00:00
AK: Make StringUtils::matches() handle escaping correctly
Previously any backslash and the character following it were ignored. This commit adds a fall through to match the character following the backslash without checking whether it is "special".
This commit is contained in:
parent
0e26f2657e
commit
af2ffcaba8
2 changed files with 20 additions and 2 deletions
|
@ -62,8 +62,11 @@ bool matches(StringView str, StringView mask, CaseSensitivity case_sensitivity,
|
|||
record_span(string_ptr - string_start, 1);
|
||||
break;
|
||||
case '\\':
|
||||
++mask_ptr;
|
||||
break;
|
||||
// if backslash is last character in mask, just treat it as an exact match
|
||||
// otherwise use it as escape for next character
|
||||
if (mask_ptr + 1 < mask_end)
|
||||
++mask_ptr;
|
||||
[[fallthrough]];
|
||||
default:
|
||||
auto p = *mask_ptr;
|
||||
auto ch = *string_ptr;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue