mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
Follow up to r1609680: simpler/faster ap_proxy_strcmp_ematch().
No functional change. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1826289 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -1502,11 +1502,13 @@ static int ap_proxy_strcmp_ematch(const char *str, const char *expected)
|
||||
apr_size_t x, y;
|
||||
|
||||
for (x = 0, y = 0; expected[y]; ++y, ++x) {
|
||||
if ((!str[x]) && (expected[y] != '$' || !apr_isdigit(expected[y + 1])))
|
||||
int backref = (expected[y] == '$' && apr_isdigit(expected[y + 1]));
|
||||
if (!str[x] && !backref)
|
||||
return -1;
|
||||
if (expected[y] == '$' && apr_isdigit(expected[y + 1])) {
|
||||
while (expected[y] == '$' && apr_isdigit(expected[y + 1]))
|
||||
if (backref) {
|
||||
do {
|
||||
y += 2;
|
||||
} while (expected[y] == '$' && apr_isdigit(expected[y + 1]));
|
||||
if (!expected[y])
|
||||
return 0;
|
||||
while (str[x]) {
|
||||
|
Reference in New Issue
Block a user