5.2.0 printf bugs

Doug Gwyn <gwyn> gwyn at brl-tgr.ARPA
Wed Jul 31 13:40:35 AEST 1985


I looked into Phil Chadwick's *printf() bug fixes,
which involved invoking _WRTCHK() in each *printf()
routine, and decided that they are not necessary.
My reasoning is:
	*printf() call _doprnt() to do the work;
	_doprnt() uses fwrite() for all output
		(via PUT() and PAD() macros);
	fwrite() does a _WRTCHK().

Perhaps the bugs Phil was seeing were the ones I
posted fixes for yesterday.  Certainly invoking
_WRTCHK() would have straightened out the _IOWRT
bit that was being missed due to the bugs.

Summary:  Use my fixes, such as:

/*	@(#)fprintf.c	1.5	*/
...
	if (!(iop->_flag & _IOWRT)) {	/* DAG -- bug fix (was |) */
...
		if (iop->_flag & _IORW) {	/* DAG -- bug fix (was |) */
...

and don't install any invocations of _WRTCHK().

HEY, AT&T USDL or whatever -- fix this in 5.3.0!



More information about the Net.bugs.usg mailing list