[net.sources.bugs] Rn bug patch #1

jonab@sdcrdcf.UUCP (Jonathan Biggar) (11/17/84)

System: rn version 4.1
Bug #: 1
Priority: HIGH HIGH HIGH!
Subject: %i and %R use old Article-I.D. line, resulting in <>
Index: intrp.c
Prereq: 4.1

Description:
	Rn uses the old Article-I.D. line instead of the new Message-ID line
	when interpolating %i or %R.  I didn't notice this before because
	we just now recompiled inews without the OLD header lines.

Repeat-By:
	Just post a followup article on a system without OLD header lines.
	The references line will be missing the current message id, and
	the ATTRIBUTION line will start "In article <>..."

Fix:	From rn, say "| patch -d DIR", where DIR is your rn source directory.
	Outside of rn, say "cd DIR; patch <thisarticle".  If you don't have
	the patch program, apply the following by hand, or get patch.

*** /tmp/,RCSt1014172	Tue Sep 25 14:12:06 1984
--- /tmp/,RCSt2014172	Tue Sep 25 14:12:16 1984
***************
*** 1,4
! /* $Header: intrp.c,v 4.1 84/09/24 11:57:13 lwall Exp $
   *
   * $Log:	intrp.c,v $
   * Revision 4.1  84/09/24  11:57:13  lwall

--- 1,4 -----
! /* $Header: intrp.c,v 4.1.1.2 84/09/25 14:02:08 lwall Exp $
   *
   * $Log:	intrp.c,v $
   * Revision 4.1.1.2  84/09/25  14:02:08  lwall
***************
*** 1,6
  /* $Header: intrp.c,v 4.1 84/09/24 11:57:13 lwall Exp $
   *
   * $Log:	intrp.c,v $
   * Revision 4.1  84/09/24  11:57:13  lwall
   * Real baseline.
   * 

--- 1,12 -----
  /* $Header: intrp.c,v 4.1.1.2 84/09/25 14:02:08 lwall Exp $
   *
   * $Log:	intrp.c,v $
+  * Revision 4.1.1.2  84/09/25  14:02:08  lwall
+  * %i used ARTID_LINE, should be MESSID_LINE.
+  * 
+  * Revision 4.1.1.1  84/09/25  13:22:59  lwall
+  * Branch for sdcrdcf changes.
+  * 
   * Revision 4.1  84/09/24  11:57:13  lwall
   * Real baseline.
   * 
***************
*** 489,495
  		    break;
  		case 'i':
  		    if (!(s=artid_buf))
! 			s = artid_buf = fetchlines(art,ARTID_LINE);
  		    if (*s != '<') {
  			sprintf(scrbuf,"<%s>",artid_buf);
  			s = scrbuf;

--- 495,501 -----
  		    break;
  		case 'i':
  		    if (!(s=artid_buf))
! 			s = artid_buf = fetchlines(art,MESSID_LINE);
  		    if (*s != '<') {
  			sprintf(scrbuf,"<%s>",artid_buf);
  			s = scrbuf;
***************
*** 566,572
  		    else
  			*scrbuf = '\0';
  		    if (!artid_buf)
! 			artid_buf = fetchlines(art,ARTID_LINE);
  		    if (artid_buf[0] == '<')
  			safecat(scrbuf,artid_buf,sizeof(scrbuf));
  		    else {

--- 572,578 -----
  		    else
  			*scrbuf = '\0';
  		    if (!artid_buf)
! 			artid_buf = fetchlines(art,MESSID_LINE);
  		    if (artid_buf[0] == '<')
  			safecat(scrbuf,artid_buf,sizeof(scrbuf));
  		    else {