pollita         Mon Dec 15 01:54:32 2003 EDT

  Modified files:              
    /php-src/ext/standard       url.c 
  Log:
  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.
  
  
Index: php-src/ext/standard/url.c
diff -u php-src/ext/standard/url.c:1.73 php-src/ext/standard/url.c:1.74
--- php-src/ext/standard/url.c:1.73     Wed Dec  3 19:14:39 2003
+++ php-src/ext/standard/url.c  Mon Dec 15 01:54:31 2003
@@ -15,7 +15,7 @@
    | Author: Jim Winstead <[EMAIL PROTECTED]>                                  |
    +----------------------------------------------------------------------+
  */
-/* $Id: url.c,v 1.73 2003/12/04 00:14:39 iliaa Exp $ */
+/* $Id: url.c,v 1.74 2003/12/15 06:54:31 pollita Exp $ */
 
 #include <stdlib.h>
 #include <string.h>
@@ -200,7 +200,11 @@
        }
        
        /* 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 @@
                efree(ret);
                return NULL;
        }
-       
+
        ret->host = estrndup(s, (p-s));
        php_replace_controlchars(ret->host);
        

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to