shlwapi: URL schemes may contain hyphen, plus, or period.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2017-09-21 14:49:46 -05:00 committed by Alexandre Julliard
parent 52e45d8f50
commit 3559c261c1
2 changed files with 3 additions and 2 deletions

View file

@ -1483,6 +1483,7 @@ static const struct parse_url_test_t {
{"ab-://www.winehq.org/",S_OK,3,URL_SCHEME_UNKNOWN},
{" http://www.winehq.org/",URL_E_INVALID_SYNTAX},
{"HTTP://www.winehq.org/",S_OK,4,URL_SCHEME_HTTP},
{"a+-.://www.winehq.org/",S_OK,4,URL_SCHEME_UNKNOWN},
};
static void test_ParseURL(void)

View file

@ -169,7 +169,7 @@ HRESULT WINAPI ParseURLA(LPCSTR x, PARSEDURLA *y)
if(y->cbSize != sizeof(*y))
return E_INVALIDARG;
while(*ptr && (isalnum(*ptr) || *ptr == '-'))
while(*ptr && (isalnum(*ptr) || *ptr == '-' || *ptr == '+' || *ptr == '.'))
ptr++;
if (*ptr != ':' || ptr <= x+1) {
@ -203,7 +203,7 @@ HRESULT WINAPI ParseURLW(LPCWSTR x, PARSEDURLW *y)
if(y->cbSize != sizeof(*y))
return E_INVALIDARG;
while(*ptr && (isalnumW(*ptr) || *ptr == '-'))
while(*ptr && (isalnumW(*ptr) || *ptr == '-' || *ptr == '+' || *ptr == '.'))
ptr++;
if (*ptr != ':' || ptr <= x+1) {