From bad719eee6e2118fac643dbf2bb320cd44e0396f Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Fri, 1 Nov 2002 08:45:26 +0000
Subject: [PATCH] Renamed gen_msgid() to get_msgid() at it (and ftn_msgid) will
 return an existing message-ID if it's already been created for this message.

---
 src/sbbs3/sbbs.h     | 2 +-
 src/sbbs3/str_util.c | 8 +++++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h
index df09298060..2117b64093 100644
--- a/src/sbbs3/sbbs.h
+++ b/src/sbbs3/sbbs.h
@@ -781,7 +781,7 @@ extern "C" {
 	DLLEXPORT size_t	DLLCALL strip_invalid_attr(char *str);
 	DLLEXPORT ushort	DLLCALL subject_crc(char *subj);
 	DLLEXPORT char *	DLLCALL ftn_msgid(sub_t* sub, smbmsg_t* msg);
-	DLLEXPORT char *	DLLCALL gen_msgid(scfg_t* cfg, uint subnum, smbmsg_t* msg);
+	DLLEXPORT char *	DLLCALL get_msgid(scfg_t* cfg, uint subnum, smbmsg_t* msg);
 
 	/* date_str.c */
 	DLLEXPORT char *	DLLCALL zonestr(short zone);
diff --git a/src/sbbs3/str_util.c b/src/sbbs3/str_util.c
index ff2b3e9a1a..28aa4df786 100644
--- a/src/sbbs3/str_util.c
+++ b/src/sbbs3/str_util.c
@@ -342,6 +342,9 @@ char* DLLCALL ftn_msgid(sub_t *sub, smbmsg_t* msg)
 {
 	static char msgid[256];
 
+	if(msg->ftn_msgid!=NULL)
+		return(msg->ftn_msgid);
+
 	snprintf(msgid,sizeof(msgid)
 		,"%s %08lX %lu.%s %08lX\r"
 		,faddrtoa(&sub->faddr,NULL)
@@ -357,10 +360,13 @@ char* DLLCALL ftn_msgid(sub_t *sub, smbmsg_t* msg)
 /****************************************************************************/
 /* Return a general purpose (RFC-822) message-ID							*/
 /****************************************************************************/
-char* DLLCALL gen_msgid(scfg_t* cfg, uint subnum, smbmsg_t* msg)
+char* DLLCALL get_msgid(scfg_t* cfg, uint subnum, smbmsg_t* msg)
 {
 	static char msgid[256];
 
+	if(msg->id!=NULL)
+		return(msg->id);
+
 	if(subnum>=cfg->total_subs)
 		snprintf(msgid,sizeof(msgid)
 			,"<%08lX.%lu@%s>"
-- 
GitLab