libc: Implement setbuf(), setbuffer(), and setlinebuf()
Some checks failed
continuous-integration/drone/pr Build is failing

These are all simple wrappers around setvbuf().
This commit is contained in:
apio 2023-07-22 11:34:05 +02:00
parent 77022abafd
commit f704739a7c
Signed by: apio
GPG Key ID: B8A7D06E42258954
2 changed files with 24 additions and 0 deletions

View File

@ -191,6 +191,15 @@ extern "C"
/* Change a file's buffering mode and internal buffer. */
int setvbuf(FILE* stream, char* buf, int mode, size_t size);
/* Change a file's internal buffer. */
void setbuf(FILE* stream, char* buf);
/* Change a file's internal buffer. */
void setbuffer(FILE* stream, char* buf, size_t size);
/* Change a file's buffering mode to line buffered. */
void setlinebuf(FILE* stream);
#ifdef __cplusplus
}
#endif

View File

@ -729,4 +729,19 @@ extern "C"
return 0;
}
void setbuf(FILE* stream, char* buf)
{
setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);
}
void setbuffer(FILE* stream, char* buf, size_t size)
{
setvbuf(stream, buf, buf ? _IOFBF : _IONBF, size);
}
void setlinebuf(FILE* stream)
{
setvbuf(stream, NULL, _IOLBF, 0);
}
}