summaryrefslogtreecommitdiffstats
path: root/network/elinks/gopher-html.patch
blob: 3537d47678223b5fc918e1d9ba49690af7bf88b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
diff -Naur a/src/protocol/gopher/gopher.c b/src/protocol/gopher/gopher.c
--- a/src/protocol/gopher/gopher.c	2013-12-18 15:38:57.000000000 +0000
+++ b/src/protocol/gopher/gopher.c	2017-11-15 18:36:43.630034028 +0000
@@ -277,6 +277,8 @@
 	struct string command;
 	enum gopher_entity entity = DEFAULT_GOPHER_ENTITY;
 	unsigned char *selector = conn->uri->data;
+	unsigned char *URI = "hURI";
+	unsigned char *URL = "hURL";
 	int selectorlen = conn->uri->datalen;
 	struct gopher_entity_info *entity_info;
 	size_t size;
@@ -288,6 +290,12 @@
 		selectorlen--;
 	}
 
+	if(strstr(selector, URL) != NULL || strstr(selector, URI) != NULL) {
+		entity = GOPHER_HTML;
+		*selector++;
+		selectorlen--;
+	}
+
 	/* This is probably a hack. It serves as a work around when no entity is
 	 * available in the Gopher URI. Instead of segfaulting later the content
 	 * will be served as application/octet-stream. However, it could