major bug in 2.10.1 expire
Henry Spencer
henry at utzoo.UUCP
Fri Oct 7 10:11:18 AEST 1983
The 2.10 and 2.10.1 expire (there's only one line different between them,
and it doesn't affect this problem) blow up badly when asked to archive
news on a V7 system. The problem is that expire.c/ulall() calls the
mkparents() routine and checks the returned value. Surprise, surprise,
mkparents() doesn't return a value! What you are actually getting,
quite by accident, is the return code from the chown() system call that
is the last action in mkparents() -- a call that will invariably fail
on a standard V7. The result is that any expired article which needs
a new directory in the archive tree will create the directory but will
then be thrown away. The *next* article in that group will be fine,
since the directory is already there.
The fix is quite simple. In expire.c, about line 387, change
if (mkparents(newname) == 0)
to
mkparents(newname);
Oh Almighty Authors of B news: how did this ever get past lint, guys?
--
Henry Spencer @ U of Toronto Zoology
{allegra,ihnp4,linus,decvax}!utzoo!henry
More information about the Net.bugs
mailing list