perl 5.003_05: unixish.h
[p5sagit/p5-mst-13.2.git] / perlio.c
index b1bf860..b9a3a22 100644 (file)
--- a/perlio.c
+++ b/perlio.c
@@ -103,10 +103,6 @@ PerlIO_stdout()
  return (PerlIO *) stdout;
 }
 
-#ifdef HAS_SETLINEBUF
-extern void setlinebuf _((FILE *iop));
-#endif
-
 #undef PerlIO_fast_gets
 int 
 PerlIO_fast_gets(f)
@@ -276,6 +272,16 @@ const char *mode;
  return fdopen(fd,mode);
 }
 
+#undef PerlIO_reopen
+PerlIO * 
+PerlIO_reopen(fd,mode)
+char *name;
+char *mode;
+PerlIO *f;
+const char *mode;
+{
+ return freopen(name,mode,f);
+}
 
 #undef PerlIO_close
 int      
@@ -293,6 +299,19 @@ PerlIO *f;
  return feof(f);
 }
 
+#undef PerlIO_getname
+char *
+PerlIO_getname(f,buf)
+PerlIO *f;
+char *buf;
+{
+#ifdef VMS
+ return fgetname(f,buf);
+#else
+ croak("Don't know how to get file name");
+#endif
+}
+
 #undef PerlIO_getc
 int      
 PerlIO_getc(f)
@@ -528,6 +547,17 @@ const Fpos_t *pos;
 {
  return PerlIO_seek(f,*pos,0); 
 }
+#else
+#ifndef PERLIO_IS_STDIO
+#undef PerlIO_setpos
+int
+PerlIO_setpos(f,pos)
+PerlIO *f;
+const Fpos_t *pos;
+{
+ return fsetpos(f, pos);
+}
+#endif
 #endif
 
 #ifndef HAS_FGETPOS
@@ -540,6 +570,17 @@ Fpos_t *pos;
  *pos = PerlIO_tell(f);
  return 0;
 }
+#else
+#ifndef PERLIO_IS_STDIO
+#undef PerlIO_getpos
+int
+PerlIO_getpos(f,pos)
+PerlIO *f;
+Fpos_t *pos;
+{
+ return fgetpos(f, pos);
+}
+#endif
 #endif
 
 #if (defined(PERLIO_IS_STDIO) || !defined(USE_SFIO)) && !defined(HAS_VPRINTF)
@@ -566,7 +607,7 @@ va_list ap;
  int val = vsprintf(s, fmt, ap);
  if (n >= 0)
   {
-   if (strlen(s) >= n)
+   if (strlen(s) >= (STRLEN)n)
     {
      PerlIO_puts(PerlIO_stderr(),"panic: sprintf overflow - memory corrupted!\n");
      my_exit(1);