mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-14 21:56:41 +01:00
2ea4407930
Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
87 lines
2.4 KiB
Diff
87 lines
2.4 KiB
Diff
#####################################################################
|
|
# Some fixes for having line feeds in text without a carriage return.
|
|
# Make sure that only lines with tabs are treated as links.
|
|
# Support links that don't begin with a '/'.
|
|
#####################################################################
|
|
diff -Naur a/src/protocol/gopher/gopher.c b/src/protocol/gopher/gopher.c
|
|
--- a/src/protocol/gopher/gopher.c 2017-12-28 15:08:54.310546900 +0000
|
|
+++ b/src/protocol/gopher/gopher.c 2017-12-28 20:26:00.635193897 +0000
|
|
@@ -326,7 +326,7 @@
|
|
|
|
/* Get entity type, and selector string. */
|
|
/* Pick up gopher_entity */
|
|
- if (selectorlen > 1 && selector[1] == '/') {
|
|
+ if (selectorlen > 1) {
|
|
entity = *selector++;
|
|
selectorlen--;
|
|
}
|
|
@@ -357,8 +357,7 @@
|
|
selectorlen++;
|
|
}
|
|
|
|
- if (entity_info->type == '1')
|
|
- {
|
|
+ if (entity_info->type == '1') {
|
|
if (strstr(selector, DIR) == selector)
|
|
{
|
|
*selector++;
|
|
@@ -402,9 +401,9 @@
|
|
gopher->entity = entity_info;
|
|
gopher->commandlen = command.length;
|
|
|
|
- debug_log("439 gopher->entity: ", 0);
|
|
+ debug_log("404 gopher->entity: ", 0);
|
|
debug_log(gopher->entity, 1);
|
|
- debug_log("437 command.source: ", 0);
|
|
+ debug_log("406 command.source: ", 0);
|
|
debug_log(command.source, 1);
|
|
memcpy(gopher->command, command.source, command.length);
|
|
done_string(&command);
|
|
@@ -486,6 +485,7 @@
|
|
unsigned char *host = NULL;
|
|
unsigned char *port = NULL;
|
|
enum gopher_entity entity = *name++;
|
|
+ int link = 0;
|
|
|
|
if (!entity) {
|
|
add_char_to_string(buffer, '\n');
|
|
@@ -495,6 +495,7 @@
|
|
if (*name) {
|
|
selector = strchr(name, ASCII_TAB);
|
|
if (selector) {
|
|
+ link = 1;
|
|
/* Terminate name */
|
|
*selector++ = '\0';
|
|
|
|
@@ -565,7 +566,7 @@
|
|
switch (entity) {
|
|
case GOPHER_WWW:
|
|
/* Gopher pointer to W3 */
|
|
- if (selector) {
|
|
+ if (selector && link == 1) {
|
|
add_gopher_link(buffer, name, selector);
|
|
break;
|
|
}
|
|
@@ -617,7 +618,8 @@
|
|
|
|
} else if (address.length > 0
|
|
&& strlcmp(address.source, address.length - 1,
|
|
- "gopher://error.host:1/", -1)) {
|
|
+ "gopher://error.host:1/", -1)
|
|
+ && link == 1) {
|
|
add_gopher_link(buffer, name, address.source);
|
|
|
|
} else {
|
|
@@ -639,6 +641,12 @@
|
|
for (; datalen > 1; data++, datalen--)
|
|
if (data[0] == ASCII_CR && data[1] == ASCII_LF)
|
|
return data + 2;
|
|
+ else
|
|
+ if(data[0] == ASCII_CR)
|
|
+ return data + 2;
|
|
+ else
|
|
+ if(data[0] == ASCII_LF)
|
|
+ return data + 2;
|
|
|
|
return NULL;
|
|
}
|