From:	ADVAX::"mcnc!VM1.NoDak.EDU!G.Huston%AARNET.EDU.AU" 13-JUN-1991 23:16:24.98
To:	Multiple recipients of list ANU-NEWS <ANU-NEWS@NDSUVM1>
CC:	
Subj:	Re: Misuse, confusion, re "Distribution:" header?

Received: by ADVAX.DECnet (utk-mail11 v1.5) ; Thu, 13 Jun 91 23:13:24 EDT
Received:  from mcnc by ge-dab.GE.COM (5.61/GE-DAB 1.15) with UUCP
	id AA11583 for ; Thu, 13 Jun 91 15:29:03 -0400
Received: from VM1.NoDak.EDU by mcnc.mcnc.org (5.59/MCNC/3-21-91)
	id AA02660; Mon, 10 Jun 91 23:31:25 -0400
	for ARISIA.DNET.ge.com!EVERHART
Message-Id: <9106110331.AA02660@mcnc.mcnc.org>
Received: from NDSUVM1.BITNET by VM1.NoDak.EDU (IBM VM SMTP R1.2.1MX) with BSMTP id 5436; Mon, 10 Jun 91 22:31:00 CDT
Received: from NDSUVM1.BITNET by NDSUVM1.BITNET (Mailer R2.07) with BSMTP id
 1274; Mon, 10 Jun 91 22:30:58 CDT
Date:         Tue, 11 Jun 91 13:30:08 +1000
Reply-To: mcnc!VM1.NoDak.EDU!G.Huston%AARNET.EDU.AU
Sender: ANU-NEWS Discussion <ANU-NEWS@VM1.NoDak.EDU>
From: mcnc!VM1.NoDak.EDU!G.Huston%AARNET.EDU.AU
Subject:      Re: Misuse, confusion, re "Distribution:" header?
X-To:         anu-news@vm1.nodak.edu
To: Multiple recipients of list ANU-NEWS <ANU-NEWS@NDSUVM1>
 
To Jamie (and the anu-news list)
 
>A bit more than one line is required.  I finally got around to trying this.
>The first time I got a news item with a distribution header that was not
>passed by my distribution filter, it sat in this while loop forever.
>Reason:  The distribution: header passed by my newsgroup filter, either.
>Line 703 once again set d to the head of the sys filter list and around and
>around we went.
>
>Replace line 703 above with
>
>      if (!d && (d_sav != f_sav)) {
>         d = f_sav;
>         d_sav = f_sav;
>         }
>
 
the refinements continue - if d_sav is reset as above (correctly), for
the while loop, then it must be set back to the original value of d
for the outer do loop
 
i.e. the declaraction of d_sav should read
 
 
line 628:
 
 
   *d_sav = d, *dd_sav = d;
 
 
and the lines 703 onward are now:
 
 
      if (!d && (d_sav != f_sav)) {
         d = f_sav;
         d_sav = f_sav;
         }
       }
      d_sav = dd_sav;
    if (ngaccept == 1) accept = 1;
    cp1 = cp2;
   } while ((!accept) && cp1));
  return(accept);
}
 
 
 
cheers,
 
--
Geoff Huston                                        G.Huston@aarnet.edu.au
Network Technical Manager                               ph: +61 6 249 3385
Australian Academic and Research Network               fax: +61 6 247 3425
