Readnews Bug

rees at apollo.UUCP rees at apollo.UUCP
Sat Aug 4 03:46:17 AEST 1984


Here is the fix for readnews crashing after 8192 articles.

Add this line to defs.h.  Make this number as big as you want, keeping it
a multiple of 8.  I don't think it has to be a power of 2, but that's
what it was before.

#define BITMAPSIZE 32768 /* Size of bitmap for readnews; was hardcoded 8192 */

Now, make these changes in rextern.c and rfuncs.c:

*** UW/rextern.c	Thu Feb  2 14:00:17 1984
--- rextern.c	Wed Apr 25 15:10:12 1984
***************
*** 73,79
  FILE	*rcfp, *actfp;
  time_t	atime;
  char	newsrc[BUFLEN], groupdir[BUFLEN], *rcline[LINES], rcbuf[LBUFLEN];
! char	bitmap[1024], *argvrc[LINES];
  int	bit, obit, readmode = NEXT;
  int	defexp = FALSE;		/* set if def. expiration date used */
  int	actdirect = FORWARD;	/* read direction in ACTIVE file */

--- 73,79 -----
  FILE	*rcfp, *actfp;
  time_t	atime;
  char	newsrc[BUFLEN], groupdir[BUFLEN], *rcline[LINES], rcbuf[LBUFLEN];
! char	bitmap[BITMAPSIZE / 8], *argvrc[LINES];
  int	bit, obit, readmode = NEXT;
  int	defexp = FALSE;		/* set if def. expiration date used */
  int	actdirect = FORWARD;	/* read direction in ACTIVE file */

*** UW/rfuncs.c	Thu Feb  2 14:02:20 1984
--- rfuncs.c	Fri Jul  6 12:55:32 1984
***************
*** 300,306
  	while (!(get(next)) && next <= ngsize)
  		next++;
  	if (cur == next) {
! 		next = 8193;
  		goto skip;
  	}
  	if (cur + 1 == next)

--- 296,302 -----
  	while (!(get(next)) && next <= ngsize)
  		next++;
  	if (cur == next) {
! 		next = BITMAPSIZE + 1;
  		goto skip;
  	}
  	if (cur + 1 == next)



More information about the Net.bugs mailing list