diff options
Diffstat (limited to 'mdk-stage1/dietlibc/libstdio/fputc.c')
-rw-r--r-- | mdk-stage1/dietlibc/libstdio/fputc.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/libstdio/fputc.c b/mdk-stage1/dietlibc/libstdio/fputc.c new file mode 100644 index 000000000..b816f7c4d --- /dev/null +++ b/mdk-stage1/dietlibc/libstdio/fputc.c @@ -0,0 +1,19 @@ +#include <dietstdio.h> +#ifndef WANT_BUFFERED_STDIO +#include <unistd.h> +#endif + +int fputc(int c, FILE *stream) { +#ifdef WANT_BUFFERED_STDIO + if (__fflush4(stream,0)) return EOF; + if (stream->bm>=BUFSIZE-1) + if (fflush(stream)) return EOF; + stream->buf[stream->bm]=c; + ++stream->bm; + if ((stream->flags&BUFLINEWISE) && c=='\n') /* puke */ + if (fflush(stream)) return EOF; +#else + write(stream->fd,&c,1); +#endif + return 0; +} |