Browse Source

add more legacy functions: setlinebuf and setbuffer

Rich Felker 14 years ago
parent
commit
e72180083e
4 changed files with 17 additions and 1 deletions
  1. 2 0
      include/stdio.h
  2. 1 1
      src/stdio/setbuf.c
  3. 7 0
      src/stdio/setbuffer.c
  4. 7 0
      src/stdio/setlinebuf.c

+ 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);
+}