+/* fakestdio.h
+ *
+ * Copyright (C) 2000, by Larry Wall and others
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ */
+
/*
* This is "source level" stdio compatibility mode.
* We try and #define stdio functions in terms of PerlIO.
#define _CANNOT "CANNOT"
#undef FILE
#define FILE PerlIO
-#undef fprintf
-#undef tmpfile
+#undef clearerr
#undef fclose
-#undef fopen
-#undef vfprintf
+#undef fdopen
+#undef feof
+#undef ferror
+#undef fflush
#undef fgetc
-#undef getc_unlocked
+#undef fgetpos
+#undef fgets
+#undef fileno
+#undef flockfile
+#undef fopen
+#undef fprintf
#undef fputc
-#undef putc_unlocked
#undef fputs
-#undef ungetc
#undef fread
-#undef fwrite
-#undef fgetpos
+#undef freopen
+#undef fscanf
#undef fseek
#undef fsetpos
#undef ftell
-#undef rewind
-#undef fdopen
-#undef popen
-#undef pclose
+#undef ftrylockfile
+#undef funlockfile
+#undef fwrite
+#undef getc
+#undef getc_unlocked
#undef getw
+#undef pclose
+#undef popen
+#undef putc
+#undef putc_unlocked
#undef putw
-#undef freopen
+#undef rewind
#undef setbuf
#undef setvbuf
-#undef fscanf
-#undef fgets
+#undef stderr
#undef stdin
#undef stdout
-#undef stderr
-#undef getc
-#undef putc
-#undef clearerr
-#undef feof
-#undef ferror
+#undef tmpfile
+#undef ungetc
+#undef vfprintf
+#undef printf
+
+/* printf used to live in perl.h like this - more sophisticated
+ than the rest
+ */
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+#define printf(fmt,args...) PerlIO_stdoutf(fmt,##args)
+#else
+#define printf PerlIO_stdoutf
+#endif
+
#define fprintf PerlIO_printf
#define stdin PerlIO_stdin()
#define stdout PerlIO_stdout()
#define fputc(c,f) PerlIO_putc(f,c)
#define fputs(s,f) PerlIO_puts(f,s)
#define getc(f) PerlIO_getc(f)
-#ifdef getc_unlocked
-#undef getc_unlocked
-#endif
#define getc_unlocked(f) PerlIO_getc(f)
#define putc(c,f) PerlIO_putc(f,c)
-#ifdef putc_unlocked
-#undef putc_unlocked
-#endif
#define putc_unlocked(c,f) PerlIO_putc(c,f)
#define ungetc(c,f) PerlIO_ungetc(f,c)
#if 0
#define fread(b,s,c,f) _CANNOT fread
#define fwrite(b,s,c,f) _CANNOT fwrite
#endif
-#define fgetpos(f,p) PerlIO_getpos(f,p)
#define fseek(f,o,w) PerlIO_seek(f,o,w)
-#define fsetpos(f,p) PerlIO_setpos(f,p)
#define ftell(f) PerlIO_tell(f)
#define rewind(f) PerlIO_rewind(f)
#define clearerr(f) PerlIO_clearerr(f)
#define popen(c,m) my_popen(c,m)
#define pclose(f) my_pclose(f)
+#define fsetpos(f,p) _CANNOT _fsetpos_
+#define fgetpos(f,p) _CANNOT _fgetpos_
+
#define __filbuf(f) _CANNOT __filbuf_
#define _filbuf(f) _CANNOT _filbuf_
#define __flsbuf(c,f) _CANNOT __flsbuf_
#define fscanf _CANNOT _fscanf_
#define fgets(s,n,f) _CANNOT _fgets_
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */