henry@utzoo.UUCP (Henry Spencer) (12/15/87)
Thanks to Jim Rees at Apollo for finding this one: In expire.c, checkexpire(), about line 561, this line if (*scan == NULL) { should read if (scan == NULL) { This didn't show up in testing because it matters only if scan is NULL, which happens only with a messed-up history file. Also, herewith some answers to some of the more interesting questions that have been asked: Q: Expire is awfully touchy about file formats etc, and makes no attempt to recover. Is this right? A: Expire's business is to destroy files. This is best done cautiously. If something is wrong, appealing for human intervention rather than pressing on is at least a reasonable approach. Q: The batcher would be lots faster if written in C, wouldn't it? A: Not much. Its run time is dominated by the "batchmake|compress|uux" pipeline, which is already entirely in C. Keeping the rest of the code in shell and awk doesn't hurt speed much, and makes maintenance and customizing much easier. Q: There are a lot of shell files between newsrun and relaynews, aren't there? This whole area seems confused and overly complex. Could it not be simplified and speeded up? A: Yes, in fact we've done this, although it's not ready for release yet. The multiple layers of shell file there were partly historical artifact and partly an artifact of the way the development was divided up (I did the input subsystem, Geoff did relaynews etc.). You should have seen what a mess it was when almost every program involved was named "rnews"... We spent a noticeable amount of time cleaning up the naming, just before distribution; unfortunately we didn't have the time to clean up the software too. Q: It is very inconvenient that the incoming-spool area is under /usr/lib/news rather than /usr/spool/news. Can this be changed? A: It's not entirely straightforward; it would break history rebuilding, in particular. However, we agree it is desirable and it will be done. -- Those who do not understand Unix are | Henry Spencer @ U of Toronto Zoology condemned to reinvent it, poorly. | {allegra,ihnp4,decvax,utai}!utzoo!henry