|
|
1.1 root 1: /*
2: * Copyright (c) 1988 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution and use in source and binary forms are permitted provided
6: * that: (1) source distributions retain this entire copyright notice and
7: * comment, and (2) distributions including binaries display the following
8: * acknowledgement: ``This product includes software developed by the
9: * University of California, Berkeley and its contributors'' in the
10: * documentation or other materials provided with the distribution and in
11: * all advertising materials mentioning features or use of this software.
12: * Neither the name of the University nor the names of its contributors may
13: * be used to endorse or promote products derived from this software without
14: * specific prior written permission.
15: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
16: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
17: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
18: */
19:
20: #if defined(LIBC_SCCS) && !defined(lint)
21: static char sccsid[] = "@(#)vfprintf.c 5.4 (Berkeley) 6/30/90";
22: #endif /* LIBC_SCCS and not lint */
23:
24: #include <stdio.h>
25: #include <varargs.h>
26:
27: int
28: vfprintf(iop, fmt, ap)
29: FILE *iop;
30: char *fmt;
31: va_list ap;
32: {
33: int len;
34: char localbuf[BUFSIZ];
35:
36: if (iop->_flag & _IONBF) {
37: iop->_flag &= ~_IONBF;
38: iop->_ptr = iop->_base = localbuf;
39: iop->_bufsiz = BUFSIZ;
40: len = _doprnt(fmt, ap, iop);
41: (void)fflush(iop);
42: iop->_flag |= _IONBF;
43: iop->_base = NULL;
44: iop->_bufsiz = 0;
45: iop->_cnt = 0;
46: } else
47: len = _doprnt(fmt, ap, iop);
48: return (ferror(iop) ? EOF : len);
49: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.