This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
jpl tweak
[perl5.git] / perlio.c
index 01cec42..4c22d3b 100644 (file)
--- a/perlio.c
+++ b/perlio.c
@@ -141,7 +141,7 @@ PerlIO_canset_cnt(PerlIO *f)
 
 #undef PerlIO_set_cnt
 void
-PerlIO_set_cnt(pTHX_ PerlIO *f, int cnt)
+PerlIO_set_cnt(PerlIO *f, int cnt)
 {
  dTHX;
  if (cnt < -1 && ckWARN_d(WARN_INTERNAL))
@@ -155,10 +155,10 @@ PerlIO_set_cnt(pTHX_ PerlIO *f, int cnt)
 
 #undef PerlIO_set_ptrcnt
 void
-PerlIO_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR *ptr, int cnt)
+PerlIO_set_ptrcnt(PerlIO *f, STDCHAR *ptr, int cnt)
 {
-#ifdef FILE_bufsiz
  dTHX;
+#ifdef FILE_bufsiz
  STDCHAR *e = FILE_base(f) + FILE_bufsiz(f);
  int ec = e - ptr;
  if (ptr > e + 1 && ckWARN_d(WARN_INTERNAL))
@@ -167,22 +167,20 @@ PerlIO_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR *ptr, int cnt)
   Perl_warner(aTHX_ WARN_INTERNAL, "Setting cnt to %d, ptr implies %d\n",cnt,ec);
 #endif
 #if defined(USE_STDIO_PTR) && defined(STDIO_PTR_LVALUE)
- FILE_ptr(f) = ptr;
 FILE_ptr(f) = ptr;
 #else
- dTHX;
- Perl_croak(aTHX_ "Cannot set 'ptr' of FILE * on this system");
+  Perl_croak(aTHX_ "Cannot set 'ptr' of FILE * on this system");
 #endif
 #if defined(USE_STDIO_PTR) && defined(STDIO_CNT_LVALUE)
- FILE_cnt(f) = cnt;
 FILE_cnt(f) = cnt;
 #else
- dTHX;
- Perl_croak(aTHX_ "Cannot set 'cnt' of FILE * on this system");
+  Perl_croak(aTHX_ "Cannot set 'cnt' of FILE * on this system");
 #endif
 }
 
 #undef PerlIO_get_cnt
 int 
-PerlIO_get_cnt(pTHX_ PerlIO *f)
+PerlIO_get_cnt(PerlIO *f)
 {
 #ifdef FILE_cnt
  return FILE_cnt(f);
@@ -195,7 +193,7 @@ PerlIO_get_cnt(pTHX_ PerlIO *f)
 
 #undef PerlIO_get_bufsiz
 int 
-PerlIO_get_bufsiz(pTHX_ PerlIO *f)
+PerlIO_get_bufsiz(PerlIO *f)
 {
 #ifdef FILE_bufsiz
  return FILE_bufsiz(f);
@@ -208,7 +206,7 @@ PerlIO_get_bufsiz(pTHX_ PerlIO *f)
 
 #undef PerlIO_get_ptr
 STDCHAR *
-PerlIO_get_ptr(pTHX_ PerlIO *f)
+PerlIO_get_ptr(PerlIO *f)
 {
 #ifdef FILE_ptr
  return FILE_ptr(f);
@@ -221,7 +219,7 @@ PerlIO_get_ptr(pTHX_ PerlIO *f)
 
 #undef PerlIO_get_base
 STDCHAR *
-PerlIO_get_base(pTHX_ PerlIO *f)
+PerlIO_get_base(PerlIO *f)
 {
 #ifdef FILE_base
  return FILE_base(f);
@@ -287,7 +285,7 @@ PerlIO_eof(PerlIO *f)
 
 #undef PerlIO_getname
 char *
-PerlIO_getname(pTHX_ PerlIO *f, char *buf)
+PerlIO_getname(PerlIO *f, char *buf)
 {
 #ifdef VMS
  return fgetname(f,buf);
@@ -387,7 +385,7 @@ PerlIO_vprintf(PerlIO *f, const char *fmt, va_list ap)
 Off_t
 PerlIO_tell(PerlIO *f)
 {
-#ifdef HAS_FTELLO
+#if defined(USE_64_BIT_STDIO) && defined(HAS_FTELLO) && !defined(USE_FTELL64)
  return ftello(f);
 #else
  return ftell(f);
@@ -398,7 +396,7 @@ PerlIO_tell(PerlIO *f)
 int
 PerlIO_seek(PerlIO *f, Off_t offset, int whence)
 {
-#ifdef HAS_FSEEKO
+#if defined(USE_64_BIT_STDIO) && defined(HAS_FSEEKO) && !defined(USE_FSEEK64)
  return fseeko(f,offset,whence);
 #else
  return fseek(f,offset,whence);
@@ -496,7 +494,11 @@ PerlIO_setpos(PerlIO *f, const Fpos_t *pos)
 int
 PerlIO_setpos(PerlIO *f, const Fpos_t *pos)
 {
+#if defined(USE_64_BIT_STDIO) && defined(USE_FSETPOS64)
+ return fsetpos64(f, pos);
+#else
  return fsetpos(f, pos);
+#endif
 }
 #endif
 #endif
@@ -515,7 +517,11 @@ PerlIO_getpos(PerlIO *f, Fpos_t *pos)
 int
 PerlIO_getpos(PerlIO *f, Fpos_t *pos)
 {
+#if defined(USE_64_BIT_STDIO) && defined(USE_FSETPOS64)
+ return fgetpos64(f, pos);
+#else
  return fgetpos(f, pos);
+#endif
 }
 #endif
 #endif