Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.1:Update
lynx
lynx-2.8.6-ipv6.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File lynx-2.8.6-ipv6.patch of Package lynx
--- lynx2-8-6/WWW/Library/Implementation/HTParse.c 2005-10-17 02:17:20.000000000 +0200 +++ lynx2-8-6/WWW/Library/Implementation/HTParse.c 2006-09-18 16:00:10.000000000 +0200 @@ -86,6 +86,9 @@ { char *after_access; char *p; +#ifdef INET6 + int ipv6 = 0; +#endif /* INET6 */ parts->access = NULL; parts->host = NULL; @@ -99,6 +102,19 @@ */ after_access = name; for (p = name; *p; p++) { +#ifdef INET6 + if (ipv6 == 1 && (isxdigit(*p) || *p == ':')) /* skip IPv6 addr. */ + continue; + if (*p == '[') { /* begin IPv6 addr. like: [fe00::0]:80 */ + ipv6=1; + continue; + } + if (*p == ']' && ipv6) { /* end IPv6 addr. */ + ipv6=0; + continue; + } +#endif /* INET6 */ + if (*p == ':') { *p = '\0'; parts->access = name; /* Access name has been specified */ @@ -350,10 +366,32 @@ */ { char *p2, *h; +#ifdef INET6 + int ipv6 = 0; +#endif /* INET6 */ if ((p2 = strchr(result, '@')) != NULL) tail = (p2 + 1); +#ifdef INET6 + for (p2=tail; *p2; p2++) { + if (*p2 == '[') { + ipv6 = 1; + continue; + } + if (*p2 == ']' && ipv6) { + ipv6 = 0; + continue; + } + if (!ipv6 && *p2 == ':') { + break; + } + } + if (*p2 != ':') { + p2 = NULL; + } +#else p2 = strchr(tail, ':'); +#endif if (p2 != NULL && !isdigit(UCH(p2[1]))) /* * Colon not followed by a port number.
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor