summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2005-01-27 16:37:34 +0000
committerIlia Alshanetsky <iliaa@php.net>2005-01-27 16:37:34 +0000
commit42155f60282a7c6514e70756b22d7f384277b75b (patch)
tree92c49297ed2cb811d98cd42dab7087ffe4683e78
parent6ffd569410137736618c3fca132d94b26126262c (diff)
downloadphp-git-42155f60282a7c6514e70756b22d7f384277b75b.tar.gz
Fixed bug #31705 (parse_url() does not recognize http://foo.com#bar)
-rw-r--r--ext/standard/tests/strings/url_t.phpt11
-rw-r--r--ext/standard/url.c2
2 files changed, 12 insertions, 1 deletions
diff --git a/ext/standard/tests/strings/url_t.phpt b/ext/standard/tests/strings/url_t.phpt
index 88e6e4800d..dd323ffc23 100644
--- a/ext/standard/tests/strings/url_t.phpt
+++ b/ext/standard/tests/strings/url_t.phpt
@@ -66,7 +66,8 @@ $sample_urls = array (
'file:///path/to/file',
'file://path/to/file',
'file:/path/to/file',
-'http://1.2.3.4:/abc.asp?a=1&b=2'
+'http://1.2.3.4:/abc.asp?a=1&b=2',
+'http://foo.com#bar'
);
foreach ($sample_urls as $url) {
@@ -648,3 +649,11 @@ array(4) {
["query"]=>
string(7) "a=1&b=2"
}
+array(3) {
+ ["scheme"]=>
+ string(4) "http"
+ ["host"]=>
+ string(7) "foo.com"
+ ["fragment"]=>
+ string(3) "bar"
+}
diff --git a/ext/standard/url.c b/ext/standard/url.c
index 558c105dbd..1c2091f9fe 100644
--- a/ext/standard/url.c
+++ b/ext/standard/url.c
@@ -182,6 +182,8 @@ PHPAPI php_url *php_url_parse_ex(char const *str, int length)
if (!(p = memchr(s, '/', (ue - s)))) {
if ((p = memchr(s, '?', (ue - s)))) {
e = p;
+ } else if ((p = memchr(s, '#', (ue - s)))) {
+ e = p;
}
} else {
e = p;