From c70ccd1801ad010315d654f3b4e5676f1b2ba51d Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Sat, 17 Apr 2004 03:37:31 +0000
Subject: [PATCH] Parses "references" article header field to get reply_to
 msg-id, if "in-reply-to" header field wasn't found. Saves complete
 "references" header field in hdr.references. Also added support for
 "in-reply-to" to write_news_header().

---
 exec/load/newsutil.js | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/exec/load/newsutil.js b/exec/load/newsutil.js
index b0321a92a8..a525ee875c 100644
--- a/exec/load/newsutil.js
+++ b/exec/load/newsutil.js
@@ -26,6 +26,10 @@ function write_news_header(hdr,writeln)
 	if(hdr.replyto!=undefined)
 		writeln("Reply-To: " + hdr.replyto);
 	if(hdr.reply_id!=undefined)
+		writeln("In-Reply-To: " + hdr.reply_id);
+	if(hdr.references!=undefined)
+		writeln("References: " + hdr.references);
+	else if(hdr.reply_id!=undefined)
 		writeln("References: " + hdr.reply_id);
 
 	/* FidoNet header fields */
@@ -107,6 +111,9 @@ function parse_news_header(hdr, line)
 			hdr.replyto_net_type=NET_INTERNET;
 			hdr.replyto=data;
 			break;
+		case "in-reply-to":
+			hdr.reply_id=data;
+			break;
 		case "date":
 			hdr.date=data;
 			break;
@@ -117,7 +124,9 @@ function parse_news_header(hdr, line)
 			hdr.id=data;
 			break;
 		case "references":
-			hdr.reply_id=data;
+			hdr.references=data;
+			if(!hdr.reply_id && data.length)
+				hdr.reply_id=data.match(/(?:\S+\s)*(\S+)$/)[1];
 			break;
 		case "x-gateway":
 			hdr.gateway=data;
-- 
GitLab