Path: utzoo!attcan!uunet!sco!rosso From: rosso@sco.COM (Ross Oliver) Newsgroups: comp.unix.xenix Subject: Re: setvbuf() Message-ID: <1702@viscous.sco.COM> Date: 22 Feb 89 21:34:54 GMT References: <20422@agate.BERKELEY.EDU> Reply-To: uunet!sco!rosso (Ross Oliver) Organization: SCO Technical Support Lines: 34 In article <20422@agate.BERKELEY.EDU> ked@garnet.berkeley.edu (Earl H. Kinmonth) writes: >setvbuf() for SCO Xenix has a different calling sequence from the >setvbuf() in BSD UNIX and in the C libraries for Turbo C and other >Misery Dos compilers. > >The common sequence is > >setvbuf(stream,buffer,type,size) > >The SCO sequence is > >setvbuf(stream,type,buffer,size) > >Since there is no function prototype in , the parameter >mismatch will not show up unless you check the return value. (I >wasn't.) Even if you do, its not very informative. This was discovered and corrected in the 2.3 release of the Development System. It was actually inherited from Microsoft. Backward compatibile objects exist for programs that can't be recompiled and still expect the old sequence. To use these, you must use the -compat flag. Otherwise, source needs to be fixed to use the new libraries. The prototypes for all library and system calls, including the corrected setvbuf(), have been added to the #include files in 2.3 Development System. Ross Oliver Technical Support The Santa Cruz Operation, Inc.