From e90f85e45da5e80bd8fa5d40070ed4de034d59ad Mon Sep 17 00:00:00 2001 From: Sara Golemon Date: Mon, 15 Dec 2003 06:54:31 +0000 Subject: [PATCH] Scan for : in host:port pair from right instead of left. This will allow handling of http://[fe80::1]:443/foo.html IPv6 Numeric addressing with port number to parse correctly. --- ext/standard/url.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ext/standard/url.c b/ext/standard/url.c index 1996bb574c..3c30e2407d 100644 --- a/ext/standard/url.c +++ b/ext/standard/url.c @@ -200,7 +200,11 @@ PHPAPI php_url *php_url_parse(char *str) } /* check for port */ - if ((p = memchr(s, ':', (e-s)))) { + /* memrchr is a GNU specific extension + Emulate for wide compatability */ + for(p = e; *p != ':' && p >= s; p--); + + if (*p == ':') { if (!ret->port) { p++; if (e-p > 5) { /* port cannot be longer then 5 characters */ @@ -228,7 +232,7 @@ PHPAPI php_url *php_url_parse(char *str) efree(ret); return NULL; } - + ret->host = estrndup(s, (p-s)); php_replace_controlchars(ret->host); -- 2.50.1