Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!brl-tgr!gwyn From: gwyn@brl-tgr.ARPA (Doug Gwyn ) Newsgroups: net.bugs.usg Subject: Re: 5.2.0 printf bugs Message-ID: <330@brl-tgr.ARPA> Date: Tue, 30-Jul-85 23:40:35 EDT Article-I.D.: brl-tgr.330 Posted: Tue Jul 30 23:40:35 1985 Date-Received: Thu, 1-Aug-85 08:58:34 EDT References: <229@brl-tgr.ARPA> Distribution: net Organization: Ballistic Research Lab Lines: 26 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!