diff options
Diffstat (limited to 'www-client/lynx/files')
-rw-r--r-- | www-client/lynx/files/digest-lynx-2.8.5-r4 | 6 | ||||
-rw-r--r-- | www-client/lynx/files/lynx-2.8.5-embedded-url.patch | 51 |
2 files changed, 57 insertions, 0 deletions
diff --git a/www-client/lynx/files/digest-lynx-2.8.5-r4 b/www-client/lynx/files/digest-lynx-2.8.5-r4 new file mode 100644 index 000000000000..f7f732972368 --- /dev/null +++ b/www-client/lynx/files/digest-lynx-2.8.5-r4 @@ -0,0 +1,6 @@ +MD5 070b1da6098ca1bb8b084713766dfb3a lynx-2.8.5-rel5.patch.bz2 6907 +RMD160 9e843f4c235c1de17a4ebe62ad1511dd9ed1f620 lynx-2.8.5-rel5.patch.bz2 6907 +SHA256 a6997212e7a36c109f57856d1ce185c074b598f2fb1b1d3d9c57fe38df5d6ccb lynx-2.8.5-rel5.patch.bz2 6907 +MD5 d1e5134e5d175f913c16cb6768bc30eb lynx2.8.5.tar.bz2 2177287 +RMD160 80d20261ac6eaebe1d940fb5de485daaad7bb3b7 lynx2.8.5.tar.bz2 2177287 +SHA256 37607008086933c869be26b4db687f61a768c51ddefa741e77225069b880bc63 lynx2.8.5.tar.bz2 2177287 diff --git a/www-client/lynx/files/lynx-2.8.5-embedded-url.patch b/www-client/lynx/files/lynx-2.8.5-embedded-url.patch new file mode 100644 index 000000000000..8bf23803997b --- /dev/null +++ b/www-client/lynx/files/lynx-2.8.5-embedded-url.patch @@ -0,0 +1,51 @@ +--- WWW/Library/Implementation/HTParse.c.old 2006-08-31 22:55:10.031020854 +0200 ++++ WWW/Library/Implementation/HTParse.c 2006-08-31 22:56:58.964604699 +0200 +@@ -166,6 +166,16 @@ + #define LYalloca_free(x) free(x) + #endif + ++static char *strchr_or_end(char *string, int ch) ++{ ++ char *result = strchr(string, ch); ++ ++ if (result == 0) { ++ result = string + strlen(string); ++ } ++ return result; ++} ++ + /* Parse a Name relative to another name. HTParse() + ** -------------------------------------- + ** +@@ -455,13 +465,24 @@ + *tail++ = '/'; + strcpy(tail, related.absolute); + if (given.relative) { +- p = strchr(tail, '?'); /* Search part? */ +- if (p == NULL) +- p = (tail + strlen(tail) - 1); +- for (; *p != '/'; p--) +- ; /* last / */ +- p[1] = '\0'; /* Remove filename */ +- strcat(p, given.relative); /* Add given one */ ++ /* RFC 1808 part 4 step 5 (if URL path is empty) */ ++ /* a) if given has params, add/replace that */ ++ if (given.relative[0] == ';') { ++ strcpy(strchr_or_end(tail, ';'), given.relative); ++ } ++ /* b) if given has query, add/replace that */ ++ else if (given.relative[0] == '?') { ++ strcpy(strchr_or_end(tail, '?'), given.relative); ++ } ++ /* otherwise fall through to RFC 1808 part 4 step 6 */ ++ else { ++ p = strchr(tail, '?'); /* Search part? */ ++ if (p == NULL) ++ p = (tail + strlen(tail) - 1); ++ for (; *p != '/'; p--) ; /* last / */ ++ p[1] = '\0'; /* Remove filename */ ++ strcat(p, given.relative); /* Add given one */ ++ } + HTSimplify (result); + } + CTRACE((tfp, "HTParse: (Related-ABS)\n")); |