ref: 8bab7047ee0b8d7c786c84f6838d9fc64be579d5
dir: /src/libc/stdio/_flsbuf.c/
#include <errno.h> #include <stdio.h> #include "../libc.h" #include "../syscall.h" int _flsbuf(FILE *fp) { size_t cnt; if (fp->flags&_IOREAD) return 0; cnt = fp->wp - fp->buf; if (cnt > 0 && _write(fp->fd, fp->buf, cnt) != cnt) { fp->flags |= _IOERR; return EOF; } fp->wp = fp->buf; return 0; }