This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade to ExtUtils::CBuilder 0.14
[perl5.git] / fakesdio.h
index 19aa0c9..d2caa11 100644 (file)
@@ -1,3 +1,12 @@
+/*    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
+#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
@@ -72,9 +92,7 @@
 #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_