--- embedaddon/php/ext/standard/url.c 2012/05/29 12:34:43 1.1.1.2 +++ embedaddon/php/ext/standard/url.c 2013/10/14 08:02:35 1.1.1.4 @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2012 The PHP Group | + | Copyright (c) 1997-2013 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | @@ -15,7 +15,7 @@ | Author: Jim Winstead | +----------------------------------------------------------------------+ */ -/* $Id: url.c,v 1.1.1.2 2012/05/29 12:34:43 misho Exp $ */ +/* $Id: url.c,v 1.1.1.4 2013/10/14 08:02:35 misho Exp $ */ #include #include @@ -201,9 +201,13 @@ PHPAPI php_url *php_url_parse_ex(char const *str, int 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; } else { just_path: ue = s + length; @@ -220,14 +224,14 @@ PHPAPI php_url *php_url_parse_ex(char const *str, int if (query && fragment) { if (query > fragment) { - p = e = fragment; + e = fragment; } else { - p = e = query; + e = query; } } else if (query) { - p = e = query; + e = query; } else if (fragment) { - p = e = fragment; + e = fragment; } } else { e = p; @@ -262,7 +266,7 @@ PHPAPI php_url *php_url_parse_ex(char const *str, int p = s; } else { /* memrchr is a GNU specific extension - Emulate for wide compatability */ + Emulate for wide compatibility */ for(p = e; *p != ':' && p >= s; p--); }