From 0be95fabb1ac2bb4885fcad37abcdedd9bd8f494 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Wed, 23 Aug 2006 21:05:46 +0000
Subject: [PATCH] Introduce writemsg() mode flag: WM_SUBJ_RO indicating the
 subject is read-only (not user-modifyable) - used for "New User Validation"
 e-mail.

---
 src/sbbs3/newuser.cpp  | 4 ++--
 src/sbbs3/sbbsdefs.h   | 1 +
 src/sbbs3/writemsg.cpp | 4 ++--
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/sbbs3/newuser.cpp b/src/sbbs3/newuser.cpp
index 918ab2015d..06e99dd72f 100644
--- a/src/sbbs3/newuser.cpp
+++ b/src/sbbs3/newuser.cpp
@@ -459,11 +459,11 @@ BOOL sbbs_t::newuser()
 		sprintf(str,text[NewUserFeedbackHdr]
 			,nulstr,getage(&cfg,useron.birth),useron.sex,useron.birth
 			,useron.name,useron.phone,useron.comp,useron.modem);
-		email(cfg.node_valuser,str,"New User Validation",WM_EMAIL);
+		email(cfg.node_valuser,str,"New User Validation",WM_EMAIL|WM_SUBJ_RO);
 		if(!useron.fbacks && !useron.emails) {
 			if(online) {						/* didn't hang up */
 				bprintf(text[NoFeedbackWarning],username(&cfg,cfg.node_valuser,tmp));
-				email(cfg.node_valuser,str,"New User Validation",WM_EMAIL);
+				email(cfg.node_valuser,str,"New User Validation",WM_EMAIL|WM_SUBJ_RO);
 				} /* give 'em a 2nd try */
 			if(!useron.fbacks && !useron.emails) {
         		bprintf(text[NoFeedbackWarning],username(&cfg,cfg.node_valuser,tmp));
diff --git a/src/sbbs3/sbbsdefs.h b/src/sbbs3/sbbsdefs.h
index 0b9d4cf3a1..38d413683f 100644
--- a/src/sbbs3/sbbsdefs.h
+++ b/src/sbbs3/sbbsdefs.h
@@ -705,6 +705,7 @@ typedef enum {						/* Values for xtrn_t.event				*/
 #define WM_QUOTE	(1<<6)		/* Quote file available 					*/
 #define WM_QWKNET	(1<<7)		/* Writing QWK NetMail (25 char title)		*/
 #define WM_PRIVATE	(1<<8)		/* Private (for creating MSGINF file)		*/
+#define WM_SUBJ_RO	(1<<9)		/* Subject/title is read-only				*/
 								
 								/* Bits in the mode of loadposts()			*/
 #define LP_BYSELF	(1<<0)		/* Include messages sent by self			*/
diff --git a/src/sbbs3/writemsg.cpp b/src/sbbs3/writemsg.cpp
index 1dd96f5183..2c24a6066e 100644
--- a/src/sbbs3/writemsg.cpp
+++ b/src/sbbs3/writemsg.cpp
@@ -242,7 +242,7 @@ bool sbbs_t::writemsg(char *fname, char *top, char *title, long mode, int subnum
 		return(false); 
 	}
 
-	if(!(mode&WM_EXTDESC)) {
+	if(!(mode&(WM_EXTDESC|WM_SUBJ_RO))) {
 		if(mode&WM_FILE) {
 			max_title_len=12;	/* ToDo: implied 8.3 filename limit! */
 			CRLF;
@@ -344,7 +344,7 @@ bool sbbs_t::writemsg(char *fname, char *top, char *title, long mode, int subnum
 			return(false); 
 		}
 		SAFEPRINTF(str,"%sRESULT.ED",cfg.node_dir);
-		if(!(mode&(WM_EXTDESC|WM_FILE))
+		if(!(mode&(WM_EXTDESC|WM_FILE|WM_SUBJ_RO))
 			&& !(cfg.xedit[useron.xedit-1]->misc&QUICKBBS) 
 			&& fexistcase(str)) {
 			if((fp=fopen(str,"r")) != NULL) {
-- 
GitLab