[net.news.b] Bug in 2.10.2 funcs2.c

dmmartindale@watcgl.UUCP (Dave Martindale) (11/30/84)

If DBM is defined, the routine findhist() in funcs2.c uses the DBM
package to look up an article's location in the history file.
However, it fails to close the DBM directory and page files, so
every time this function is invoked it eats two more file descriptors.
Since there is no dbmclose() provided, you'll just have to close them
explicitly.  The fix is simple.  Just look for the call to dbminit(),
and add the two calls to close as shown:

	#ifdef DBM
		dbminit(ARTFILE);
		lhs.dptr = oidbuf;
		lhs.dsize = strlen(lhs.dptr) + 1;
		rhs = fetch(lhs);
		close(pagf);
		close(dirf);
		if (rhs.dptr) {

Also, since funcs2 does not #include <dbm.h> (choosing to define the
structures and routines itself) you'll have to add "extern int pagf, dirf;"
to the top of findhist().

	Dave Martindale