summaryrefslogtreecommitdiff
path: root/libc/stdio/setbuffer.c
blob: 3ca4fb7f8ebb2dcdeb90574dfbb2578b7a8fdd6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* Copyright (C) 2004       Manuel Novoa III    <mjn3@codepoet.org>
 *
 * GNU Library General Public License (LGPL) version 2 or later.
 *
 * Dedicated to Toni.  See uClibc/DEDICATION.mjn3 for details.
 */

#include "_stdio.h"

libc_hidden_proto(setvbuf)

/* A BSD function.  The implementation matches the linux man page,
 * except that we do not bother calling setvbuf if not configured
 * for stream buffering.
 */

void setbuffer(FILE * __restrict stream, register char * __restrict buf,
			   size_t size)
{
#ifdef __STDIO_BUFFERS
	setvbuf(stream, buf, (buf ? _IOFBF : _IONBF), size);
#endif
}