wbuf.c (256281) | wbuf.c (269482) |
---|---|
1/*- 2 * Copyright (c) 1990, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Chris Torek. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 */ 32 33#if defined(LIBC_SCCS) && !defined(lint) 34static char sccsid[] = "@(#)wbuf.c 8.1 (Berkeley) 6/4/93"; 35#endif /* LIBC_SCCS and not lint */ 36#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 1990, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Chris Torek. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 */ 32 33#if defined(LIBC_SCCS) && !defined(lint) 34static char sccsid[] = "@(#)wbuf.c 8.1 (Berkeley) 6/4/93"; 35#endif /* LIBC_SCCS and not lint */ 36#include <sys/cdefs.h> |
37__FBSDID("$FreeBSD: stable/10/lib/libc/stdio/wbuf.c 249810 2013-04-23 14:36:44Z emaste $"); | 37__FBSDID("$FreeBSD: stable/10/lib/libc/stdio/wbuf.c 269482 2014-08-03 18:28:10Z pfg $"); |
38 | 38 |
39#include <errno.h> |
|
39#include <stdio.h> 40#include "local.h" 41 42/* 43 * Write the given character into the (probably full) buffer for 44 * the given file. Flush the buffer out if it is or becomes full, 45 * or if c=='\n' and the file is line buffered. 46 * --- 7 unchanged lines hidden (view full) --- 54 /* 55 * In case we cannot write, or longjmp takes us out early, 56 * make sure _w is 0 (if fully- or un-buffered) or -_bf._size 57 * (if line buffered) so that we will get called again. 58 * If we did not do this, a sufficient number of putc() 59 * calls might wrap _w from negative to positive. 60 */ 61 fp->_w = fp->_lbfsize; | 40#include <stdio.h> 41#include "local.h" 42 43/* 44 * Write the given character into the (probably full) buffer for 45 * the given file. Flush the buffer out if it is or becomes full, 46 * or if c=='\n' and the file is line buffered. 47 * --- 7 unchanged lines hidden (view full) --- 55 /* 56 * In case we cannot write, or longjmp takes us out early, 57 * make sure _w is 0 (if fully- or un-buffered) or -_bf._size 58 * (if line buffered) so that we will get called again. 59 * If we did not do this, a sufficient number of putc() 60 * calls might wrap _w from negative to positive. 61 */ 62 fp->_w = fp->_lbfsize; |
62 if (prepwrite(fp) != 0) | 63 if (prepwrite(fp) != 0) { 64 errno = EBADF; |
63 return (EOF); | 65 return (EOF); |
66 } |
|
64 c = (unsigned char)c; 65 66 ORIENT(fp, -1); 67 68 /* 69 * If it is completely full, flush it out. Then, in any case, 70 * stuff c into the buffer. If this causes the buffer to fill 71 * completely, or if c is '\n' and the file is line buffered, --- 18 unchanged lines hidden --- | 67 c = (unsigned char)c; 68 69 ORIENT(fp, -1); 70 71 /* 72 * If it is completely full, flush it out. Then, in any case, 73 * stuff c into the buffer. If this causes the buffer to fill 74 * completely, or if c is '\n' and the file is line buffered, --- 18 unchanged lines hidden --- |