]> granicus.if.org Git - php/commitdiff
Fixed bug #31705 (parse_url() does not recognize http://foo.com#bar)
authorIlia Alshanetsky <iliaa@php.net>
Thu, 27 Jan 2005 16:37:34 +0000 (16:37 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Thu, 27 Jan 2005 16:37:34 +0000 (16:37 +0000)
ext/standard/tests/strings/url_t.phpt
ext/standard/url.c

index 88e6e4800d939d20377b302a6c212ab2072bbc56..dd323ffc235ca67b4f1ed59e7a89685bc56d41d7 100644 (file)
@@ -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"
+}
index 558c105dbdadf8309f531d2200739f115f80a0b0..1c2091f9fe08d7e6d519ed4a7a4ccd5b30c20c67 100644 (file)
@@ -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;