1
0
Эх сурвалжийг харах

add more legacy functions: setlinebuf and setbuffer

Rich Felker 14 жил өмнө
parent
commit
e72180083e

+ 2 - 0
include/stdio.h

@@ -156,6 +156,8 @@ char *cuserid(char *);
 #define off64_t off_t
 int asprintf(char **, const char *, ...);
 int vasprintf(char **, const char *, va_list);
+void setlinebuf(FILE *);
+void setbuffer(FILE *, char *, size_t);
 #endif
 
 #ifdef __cplusplus

+ 1 - 1
src/stdio/setbuf.c

@@ -1,4 +1,4 @@
-#include "stdio_impl.h"
+#include <stdio.h>
 
 void setbuf(FILE *f, char *buf)
 {

+ 7 - 0
src/stdio/setbuffer.c

@@ -0,0 +1,7 @@
+#define _GNU_SOURCE
+#include <stdio.h>
+
+void setbuffer(FILE *f, char *buf, size_t size)
+{
+	setvbuf(f, buf, buf ? _IOFBF : _IONBF, size);
+}

+ 7 - 0
src/stdio/setlinebuf.c

@@ -0,0 +1,7 @@
+#define _GNU_SOURCE
+#include <stdio.h>
+
+void setlinebuf(FILE *f)
+{
+	setvbuf(f, 0, _IOLBF, 0);
+}