diff options
author | Vladimir Azarov <avm@intermediate-node.net> | 2024-10-01 15:47:05 +0200 |
---|---|---|
committer | Vladimir Azarov <avm@intermediate-node.net> | 2024-10-01 15:47:05 +0200 |
commit | 4abab5ad6c8465a7528ccdd5f49367da05f78bbd (patch) | |
tree | ebf009bf1376a5a223a915bc27cbbd791a1316bc /src/stdio/__towrite.c |
Initial version
Diffstat (limited to 'src/stdio/__towrite.c')
-rw-r--r-- | src/stdio/__towrite.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/stdio/__towrite.c b/src/stdio/__towrite.c new file mode 100644 index 0000000..4c9c66a --- /dev/null +++ b/src/stdio/__towrite.c @@ -0,0 +1,23 @@ +#include "stdio_impl.h" + +int __towrite(FILE *f) +{ + f->mode |= f->mode-1; + if (f->flags & F_NOWR) { + f->flags |= F_ERR; + return EOF; + } + /* Clear read buffer (easier than summoning nasal demons) */ + f->rpos = f->rend = 0; + + /* Activate write through the buffer. */ + f->wpos = f->wbase = f->buf; + f->wend = f->buf + f->buf_size; + + return 0; +} + +hidden void __towrite_needs_stdio_exit() +{ + __stdio_exit_needed(); +} |