Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site ittral.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!talcott!panda!genrad!decvax!ittatc!ittral!malloy From: malloy@ittral.UUCP (William P. Malloy) Newsgroups: net.news.b,net.news.adm Subject: Checkgroups messages not working (fix?) Message-ID: <188@ittral.UUCP> Date: Mon, 29-Jul-85 13:20:00 EDT Article-I.D.: ittral.188 Posted: Mon Jul 29 13:20:00 1985 Date-Received: Sat, 3-Aug-85 05:23:47 EDT Reply-To: malloy@ittral.UUCP (William P. Malloy) Organization: ITT-B&CC Engineering Group Lines: 37 Keywords: rn, inews Xref: watmath net.news.b:1149 net.news.adm:335 I have attempted several times to run the checkgroups script that Gene Spafford posts to net.news.group every month, and always with the same results. It tells me that ALL the newsgroups are invalid. Well I finally had sometime to look at it and discovered that the checkgroups shell script expects a list of the currently valid net wide groups to come from standard input. Looking at the code for inews in the source file control.c, inside c_checkgroups(), I find the lines below assume there is a copy of the prototype article in the temporary file ARTICLE = (/usr/spool/news/.arXXXXXX). However if you are running Larry Walls rn news reading program, and have installed the patches for the Xref: patch, you'll find nothing is written into ARTICLE until AFTER the call on control() occurs inside inews.c. The simplest method around it I found is to use INFILE = (/usr/spool/news/.inXXXXXX) which is a temporary file that holds the body of the article. I'm sure there's a much cleaner fix, but I could care less. The real question is how come no one else ever noticed this before? I suspect no one else runs the checkgroups messages, or just have never installed the Xref: patches (which is too bad because it works rather well). Or it's already been fixed, and I just don't know about it (highly likely). ---- OLD code in c_checkgroups() in control.c sprintf(bfr, "sed '1,/^$/d' %s | %s/checkgroups %s", ARTICLE, LIB, (TELLME && *TELLME) ? TELLME : NEWSUSR); rc = system(bfr); log("system(%s) status %d", bfr, rc); ---- NEW code in c_checkgroups() in control.c sprintf(bfr, "cat %s | %s/checkgroups %s", INFILE, LIB, (TELLME && *TELLME) ? TELLME : NEWSUSR); rc = system(bfr); log("system(%s) status %d", bfr, rc); -- Address: William P. Malloy, ITT Telecom, B & CC Engineering Group, Raleigh NC {ihnp4!mcnc, burl, ncsu, decvax!ittvax}!ittral!malloy