Procházet zdrojové kódy

implement the nonstandard GNU function fpurge

this is a really ugly and backwards function, but its presence will
prevent lots of broken gnulib software from trying to define its own
version of fpurge and thereby failing to build or worse.
Rich Felker před 13 roky
rodič
revize
7640497f5f
2 změnil soubory, kde provedl 12 přidání a 0 odebrání
  1. 1 0
      include/stdio.h
  2. 11 0
      src/stdio/fpurge.c

+ 1 - 0
include/stdio.h

@@ -158,6 +158,7 @@ int asprintf(char **, const char *, ...);
 int vasprintf(char **, const char *, va_list);
 void setlinebuf(FILE *);
 void setbuffer(FILE *, char *, size_t);
+int fpurge(FILE *);
 #endif
 
 #ifdef __cplusplus

+ 11 - 0
src/stdio/fpurge.c

@@ -0,0 +1,11 @@
+#define _GNU_SOURCE
+#include "stdio_impl.h"
+
+int __fpurge(FILE *f)
+{
+	f->wpos = f->wbase = f->wend = 0;
+	f->rpos = f->rend = 0;
+	return 0;
+}
+
+weak_alias(__fpurge, fpurge);