From 28a50c8b577eda3313fe316a1fd0f17ae6418587 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Wed, 8 Feb 2006 00:47:11 +0000
Subject: [PATCH] Telegard and Renegade "pipe codes" actually must have 2
 decimal digits. This will reduce the liklihood of false-positive TG/RG pipe
 code interpretation.

---
 src/sbbs3/putmsg.cpp | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/sbbs3/putmsg.cpp b/src/sbbs3/putmsg.cpp
index c71e218b1f..4082b5b5a4 100644
--- a/src/sbbs3/putmsg.cpp
+++ b/src/sbbs3/putmsg.cpp
@@ -8,7 +8,7 @@
  * @format.tab-size 4		(Plain Text/Source Code File Header)			*
  * @format.use-tabs true	(see http://www.synchro.net/ptsc_hdr.html)		*
  *																			*
- * Copyright 2005 Rob Swindell - http://www.synchro.net/copyright.html		*
+ * Copyright 2006 Rob Swindell - http://www.synchro.net/copyright.html		*
  *																			*
  * This program is free software; you can redistribute it and/or			*
  * modify it under the terms of the GNU General Public License				*
@@ -102,7 +102,7 @@ char sbbs_t::putmsg(char *str, long mode)
 			l+=4; 
 		}
 		else if(cfg.sys_misc&SM_RENEGADE && str[l]=='|' && isdigit(str[l+1])
-			&& !(useron.misc&(RIP|WIP))) {
+			&& isdigit(str[l+2]) && !(useron.misc&(RIP|WIP))) {
 			sprintf(tmp2,"%.2s",str+l+1);
 			i=atoi(tmp2);
 			if(i>=16) { 				/* setting background */
@@ -114,9 +114,7 @@ char sbbs_t::putmsg(char *str, long mode)
 				i|=(curatr&0xf0);		/* leave background alone */
 			attr(i);
 			exatr=1;
-			l+=2;	/* Skip |x */
-			if(isdigit(str[l]))
-				l++;	/* Skip second digit if it exists */
+			l+=3;	/* Skip |xx */
 		}	
 		else if(cfg.sys_misc&SM_CELERITY && str[l]=='|' && isalpha(str[l+1])
 			&& !(useron.misc&(RIP|WIP))) {
-- 
GitLab