diff options
Diffstat (limited to 'perlsdio.h')
-rw-r--r-- | perlsdio.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/perlsdio.h b/perlsdio.h index 9825f8ed92..a539a0a3d9 100644 --- a/perlsdio.h +++ b/perlsdio.h @@ -55,7 +55,12 @@ #define PerlIO_clearerr(f) clearerr(f) #define PerlIO_flush(f) Fflush(f) #define PerlIO_tell(f) ftell(f) -#define PerlIO_seek(f,o,w) fseek(f,o,w) +#if defined(VMS) && !defined(__DECC) + /* Old VAXC RTL doesn't reset EOF on seek; Perl folk seem to expect this */ +# define PerlIO_seek(f,o,w) (((f) && (*f) && ((*f)->_flag &= ~_IOEOF)),fseek(f,o,w)) +#else +# define PerlIO_seek(f,o,w) fseek(f,o,w) +#endif #ifdef HAS_FGETPOS #define PerlIO_getpos(f,p) fgetpos(f,p) #endif |