[net.news.b] bugs in 2.8,2.7 funcs.c

news (06/23/82)

The following fix prevents recording() from reading a null
fd, thus causing a "bus error".  recording also now appends
LIB to the recording name.


diff -c 2.7src/funcs.c src/funcs.c
*** 2.7src/funcs.c	Tue Jun 22 11:36:20 1982
--- src/funcs.c	Wed Jun 23 09:46:40 1982
***************
*** 468,474
  		return 0;
  	strcpy(lngrps, ngrps);
  	ngcat(lngrps);
! 	while ((fgets(recbuf, sizeof recbuf, fd)) != NULL) {
  		sscanf(recbuf, "%s %s", nglist, fname);
  		ngcat(nglist);
  		if (ngmatch(lngrps, nglist)) {

--- 468,474 -----
  		return 0;
  	strcpy(lngrps, ngrps);
  	ngcat(lngrps);
! 	while ((fgets(recbuf, sizeof(recbuf), fd)) != NULL) {
  		sscanf(recbuf, "%s %s", nglist, fname);
  		ngcat(nglist);
  		if (ngmatch(lngrps, nglist)) {
***************
*** 473,479
  		ngcat(nglist);
  		if (ngmatch(lngrps, nglist)) {
  			fclose(fd);
! 			fd = fopen(fname, "r");
  			while ((c = getc(fd)) != EOF)
  				putc(c, stderr);
  			hascaught = 0;

--- 473,482 -----
  		ngcat(nglist);
  		if (ngmatch(lngrps, nglist)) {
  			fclose(fd);
! 			sprintf(recbuf,"%s/%s", LIB, fname);
! 			fd = fopen(recbuf, "r");
! 			if (fd == NULL)
! 				return 0;
  			while ((c = getc(fd)) != EOF)
  				putc(c, stderr);
  			hascaught = 0;