diff options
author | Julien Pauli <jpauli@php.net> | 2014-04-25 09:57:29 +0200 |
---|---|---|
committer | Julien Pauli <jpauli@php.net> | 2014-04-25 09:57:29 +0200 |
commit | da80c3b62fb6fe4835fb3d31953ceae918006af2 (patch) | |
tree | bf0cb7a9c2169033fa44f25ec1f2932e877683df | |
parent | 8db1ba94e440a6bbb387b3a6b34d1d9235537e55 (diff) | |
download | php-git-da80c3b62fb6fe4835fb3d31953ceae918006af2.tar.gz |
Revert "Fixed bug #64604"
This reverts commit b05c088a3abf8e4c6fb6e40418423a9e2dd3d929.
-rw-r--r-- | ext/standard/tests/url/bug64604.phpt | 40 | ||||
-rw-r--r-- | ext/standard/url.c | 8 |
2 files changed, 4 insertions, 44 deletions
diff --git a/ext/standard/tests/url/bug64604.phpt b/ext/standard/tests/url/bug64604.phpt deleted file mode 100644 index bbc3cb9d1b..0000000000 --- a/ext/standard/tests/url/bug64604.phpt +++ /dev/null @@ -1,40 +0,0 @@ ---TEST-- -Bug #64604 parse_url is inconsistent with specified port ---FILE-- -<?php -var_dump(parse_url('//localhost/path')); -var_dump(parse_url('//localhost:80/path')); -var_dump(parse_url('//localhost:/path')); -var_dump(parse_url('http://localhost:80/path')); -?> ---EXPECT-- -array(2) { - ["host"]=> - string(9) "localhost" - ["path"]=> - string(5) "/path" -} -array(3) { - ["host"]=> - string(9) "localhost" - ["port"]=> - int(80) - ["path"]=> - string(5) "/path" -} -array(2) { - ["host"]=> - string(9) "localhost" - ["path"]=> - string(5) "/path" -} -array(4) { - ["scheme"]=> - string(4) "http" - ["host"]=> - string(9) "localhost" - ["port"]=> - int(80) - ["path"]=> - string(5) "/path" -} diff --git a/ext/standard/url.c b/ext/standard/url.c index 16237e6599..d8271a18ed 100644 --- a/ext/standard/url.c +++ b/ext/standard/url.c @@ -181,10 +181,6 @@ PHPAPI php_url *php_url_parse_ex(char const *str, int length) p = e + 1; pp = p; - if (*s == '/' && *(s+1) == '/') { /* relative-scheme URL */ - s += 2; - } - while (pp-p < 6 && isdigit(*pp)) { pp++; } @@ -205,6 +201,10 @@ PHPAPI php_url *php_url_parse_ex(char const *str, int length) STR_FREE(ret->scheme); efree(ret); return NULL; + } else if (*s == '/' && *(s+1) == '/') { /* relative-scheme URL */ + s += 2; + } else { + goto just_path; } } else if (*s == '/' && *(s+1) == '/') { /* relative-scheme URL */ s += 2; |