[news.software.b] C News Bulletin #7 - rnews: 4.2bsd memcpy bug, sys F flag default

geoff@utstat.uucp (Geoff Collyer) (02/27/88)

In the alpha release, rnews/vers/bsd42/memcpy.c doesn't return a value.
This does matter if, for example, you compile relaynews on a SysV/4.2
hybrid Unix in which C library functions call memcpy, such as Sunix on
the Sun 4 (a nice fast machine: 1Mb of news processed in 63 elapsed
seconds and 12 CPU seconds, using Sun's stdio; thanks to David Trueman
of Dalhousie U. for donating some Sun 4 time).  Here is a replacement
memcpy():

---
char *
memcpy(to, from, length)
char *to, *from;
int length;
{
	bcopy(from, to, length);
	return to;
}
---

In rnews/sys.c, there is exactly one line containing

	libfile(deffile)

If you change this expression to

	strsave(libfile(deffile))

then you can leave the fourth field of a sys file entry containing the F
or f flags empty, and relaynews will fill in a default value
($NEWSCTL/batch/b.system/togo, where system is the first field of the
same entry).
-- 
Geoff Collyer	utzoo!utstat!geoff, utstat.toronto.{edu,cdn}!geoff
Mr. Collyer is the senior author of C news.  Latest achievement:
making the V9 shell use malloc instead of sbrk and SIGSEGV.