From: Perl 5 Porters <perl5-porters@africa.nicoh.com>
Date: Sun, 25 Aug 1996 00:21:17 +0000 (+0000)
Subject: Fixes to support non-std stdio.
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=33dcbb9a4b5517789b5e779cf126923149d7ff89;p=p5sagit%2Fp5-mst-13.2.git

Fixes to support non-std stdio.
---

diff --git a/perlio.c b/perlio.c
index 2da92c2..b1bf860 100644
--- a/perlio.c
+++ b/perlio.c
@@ -35,6 +35,13 @@ PerlIO_init()
  */
 }
 
+#undef PerlIO_tmpfile
+PerlIO *
+PerlIO_tmpfile()
+{
+ return tmpfile();
+}
+
 #else /* PERLIO_IS_STDIO */
 
 #ifdef USE_SFIO
@@ -158,12 +165,14 @@ PerlIO *f;
 char *ptr;
 int cnt;
 {
+#ifdef FILE_bufsiz
  char *e = (char *)(FILE_base(f) + FILE_bufsiz(f));
  int ec  = e - ptr;
  if (ptr > e)
   warn("Setting ptr %p > base %p\n",ptr, FILE_base(f)+FILE_bufsiz(f));
  if (cnt != ec)
   warn("Setting cnt to %d, ptr implies %d\n",cnt,ec);
+#endif
 #if defined(USE_STDIO_PTR) && defined(STDIO_PTR_LVALUE)
  FILE_ptr(f) = (STDCHAR *) ptr;
 #else
diff --git a/perlsdio.h b/perlsdio.h
index 038148f..082d96d 100644
--- a/perlsdio.h
+++ b/perlsdio.h
@@ -80,8 +80,8 @@
 #else  /* USE_STDIO_PTR */
 
 #define PerlIO_has_cntptr(f)		0
-#define PerlIO_get_cnt(f)		abort()
-#define PerlIO_get_ptr(f)		abort()
+#define PerlIO_get_cnt(f)		(abort(),0)
+#define PerlIO_get_ptr(f)		(abort(),0)
 #define PerlIO_set_cnt(f,c)		abort()
 #define PerlIO_set_ptrcnt(f,p,c)	abort()
 
@@ -98,8 +98,8 @@
 #define PerlIO_get_bufsiz(f)		FILE_bufsiz(f)       
 #else
 #define PerlIO_has_base(f)		0
-#define PerlIO_get_base(f)		abort()
-#define PerlIO_get_bufsiz(f)		abort()
+#define PerlIO_get_base(f)		(abort(),0)
+#define PerlIO_get_bufsiz(f)		(abort(),0)
 #endif
 #else /* PERLIO_IS_STDIO */
 #ifdef PERL_CORE
@@ -113,6 +113,32 @@
  * Strong denial of stdio - make all stdio calls (we can think of) errors
  */
 #include "nostdio.h"
+#undef fprintf
+#undef tmpfile
+#undef fclose
+#undef fopen
+#undef vfprintf
+#undef fgetc
+#undef fputc
+#undef fputs
+#undef ungetc
+#undef fread
+#undef fwrite
+#undef fgetpos
+#undef fseek
+#undef fsetpos
+#undef ftell
+#undef rewind
+#undef fdopen
+#undef popen
+#undef pclose
+#undef getw
+#undef putw
+#undef freopen
+#undef setbuf
+#undef setvbuf
+#undef fscanf
+#undef fgets
 #define fprintf    _CANNOT _fprintf_
 #define stdin      _CANNOT _stdin_
 #define stdout     _CANNOT _stdout_
@@ -173,6 +199,32 @@
 #include "nostdio.h"
 #undef FILE
 #define FILE			PerlIO 
+#undef fprintf
+#undef tmpfile
+#undef fclose
+#undef fopen
+#undef vfprintf
+#undef fgetc
+#undef fputc
+#undef fputs
+#undef ungetc
+#undef fread
+#undef fwrite
+#undef fgetpos
+#undef fseek
+#undef fsetpos
+#undef ftell
+#undef rewind
+#undef fdopen
+#undef popen
+#undef pclose
+#undef getw
+#undef putw
+#undef freopen
+#undef setbuf
+#undef setvbuf
+#undef fscanf
+#undef fgets
 #define fprintf			PerlIO_printf
 #define stdin			PerlIO_stdin()
 #define stdout			PerlIO_stdout()