Lines 1033-1045
sub _query_regex_escape_process {
Link Here
|
1033 |
# replaced with a more general parser solution |
1033 |
# replaced with a more general parser solution |
1034 |
# so that this function is ever only provided with unquoted |
1034 |
# so that this function is ever only provided with unquoted |
1035 |
# query parts |
1035 |
# query parts |
1036 |
$query =~ s@(?:(?<!\\)((?:[\\]{2})*)(?=/))(?![^"]*"(?:[^"]*"[^"]*")*[^"]*$)@\\$1@g; |
1036 |
$query =~ s@(?:(?<!\\)((?:[\\]{2})*)(?=[/\?]))(?![^"]*"(?:[^"]*"[^"]*")*[^"]*$)@\\$1@g; |
1037 |
} |
1037 |
} |
1038 |
elsif($regex_escape_options eq 'unescape_escaped') { |
1038 |
elsif($regex_escape_options eq 'unescape_escaped') { |
1039 |
# Will unescape escaped slashes (\/) and escape |
1039 |
# Will unescape escaped slashes (\/) and escape |
1040 |
# unescaped slashes (/) while preserving slashes within quotes |
1040 |
# unescaped slashes (/) while preserving slashes within quotes |
1041 |
# The same limitatations as above apply for handling of quotes |
1041 |
# The same limitatations as above apply for handling of quotes |
1042 |
$query =~ s@(?:(?<!\\)(?:((?:[\\]{2})*[\\])|((?:[\\]{2})*))(?=/))(?![^"]*"(?:[^"]*"[^"]*")*[^"]*$)@($1 ? substr($1, 0, -1) : ($2 . "\\"))@ge; |
1042 |
$query =~ s@(?:(?<!\\)(?:((?:[\\]{2})*[\\])|((?:[\\]{2})*))(?=[/\?]))(?![^"]*"(?:[^"]*"[^"]*")*[^"]*$)@($1 ? substr($1, 0, -1) : ($2 . "\\"))@ge; |
1043 |
} |
1043 |
} |
1044 |
} |
1044 |
} |
1045 |
return $query; |
1045 |
return $query; |
1046 |
- |
|
|