summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/lynx/files')
-rw-r--r--www-client/lynx/files/digest-lynx-2.8.5-r46
-rw-r--r--www-client/lynx/files/lynx-2.8.5-embedded-url.patch51
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"));