From 290e00d1311a1e074a6bac3e978cf6c27f06979d Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Tue, 7 Nov 2000 11:55:08 +0000
Subject: [PATCH] Fixed CR/LF expectations on guru data files.

---
 src/sbbs3/chat.cpp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/sbbs3/chat.cpp b/src/sbbs3/chat.cpp
index f2f066fea5..4ad16a5f0f 100644
--- a/src/sbbs3/chat.cpp
+++ b/src/sbbs3/chat.cpp
@@ -1383,19 +1383,21 @@ void sbbs_t::guruchat(char *line, char *gurubuf, int gurunum)
 			answers=0;
 			while(*ptr && answers<100 && ptr<gurubuf+len) {
 				i=0;
-				while(*ptr && *ptr!=CR && i<512 && ptr<gurubuf+len) {
+				while(*ptr && *ptr!=CR && *ptr!=LF && i<512 && ptr<gurubuf+len) {
 					answer[answers][i]=*ptr;
 					ptr++;
 					i++;
-					if(*ptr=='\\' && *(ptr+1)==CR) {	/* multi-line answer */
-						ptr+=3;	/* skip \CRLF */
+					/* multi-line answer */
+					if(*ptr=='\\' && (*(ptr+1)==CR || *(ptr+1)==LF)) {
+						ptr++;	/* skip \ */
+						while(*ptr && *ptr<SP) ptr++;	/* skip [CR]LF */
 						answer[answers][i++]=CR;
 						answer[answers][i++]=LF; } }
 				answer[answers][i]=0;
 				if(!strlen(answer[answers]) || answer[answers][0]=='(') {
 					ptr-=strlen(answer[answers]);
 					break; }
-				ptr+=2;	/* skip CRLF */
+				while(*ptr && *ptr<SP) ptr++;	/* skip [CR]LF */
 				answers++; }
 			if(answers==100)
 				while(*ptr && *ptr!='(' && ptr<gurubuf+len)
-- 
GitLab