diff options
author | Charles Bailey <bailey@newman.upenn.edu> | 1999-09-06 02:39:11 +0000 |
---|---|---|
committer | bailey <bailey@newman.upenn.edu> | 1999-09-06 02:39:11 +0000 |
commit | 424a8fe95d507998fe8750793da1b35bd6d7074b (patch) | |
tree | 2e7697b05952df05643698777bf236009c43d158 /perlio.c | |
parent | f0585323684fd5b018ff6d479ece5c134dabef3e (diff) | |
parent | 0bf7eb25e9e238046abce47d15e2fa3d10558a02 (diff) | |
download | perl-424a8fe95d507998fe8750793da1b35bd6d7074b.tar.gz |
Integrate mainline 5.05_61
p4raw-id: //depot/vmsperl@4084
Diffstat (limited to 'perlio.c')
-rw-r--r-- | perlio.c | 33 |
1 files changed, 24 insertions, 9 deletions
@@ -143,7 +143,8 @@ PerlIO_canset_cnt(PerlIO *f) void PerlIO_set_cnt(PerlIO *f, int cnt) { - if (cnt < -1 && ckWARN_s(WARN_INTERNAL)) + dTHX; + if (cnt < -1 && ckWARN_d(WARN_INTERNAL)) Perl_warner(aTHX_ WARN_INTERNAL, "Setting cnt to %d\n",cnt); #if defined(USE_STDIO_PTR) && defined(STDIO_CNT_LVALUE) FILE_cnt(f) = cnt; @@ -156,23 +157,24 @@ PerlIO_set_cnt(PerlIO *f, int cnt) void PerlIO_set_ptrcnt(PerlIO *f, STDCHAR *ptr, int cnt) { + dTHX; #ifdef FILE_bufsiz STDCHAR *e = FILE_base(f) + FILE_bufsiz(f); int ec = e - ptr; - if (ptr > e + 1 && ckWARN_s(WARN_INTERNAL)) + if (ptr > e + 1 && ckWARN_d(WARN_INTERNAL)) Perl_warner(aTHX_ WARN_INTERNAL, "Setting ptr %p > end+1 %p\n", ptr, e + 1); - if (cnt != ec && ckWARN_s(WARN_INTERNAL)) + if (cnt != ec && ckWARN_d(WARN_INTERNAL)) 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 - 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 - Perl_croak(aTHX_ "Cannot set 'cnt' of FILE * on this system"); + Perl_croak(aTHX_ "Cannot set 'cnt' of FILE * on this system"); #endif } @@ -183,6 +185,7 @@ PerlIO_get_cnt(PerlIO *f) #ifdef FILE_cnt return FILE_cnt(f); #else + dTHX; Perl_croak(aTHX_ "Cannot get 'cnt' of FILE * on this system"); return -1; #endif @@ -195,6 +198,7 @@ PerlIO_get_bufsiz(PerlIO *f) #ifdef FILE_bufsiz return FILE_bufsiz(f); #else + dTHX; Perl_croak(aTHX_ "Cannot get 'bufsiz' of FILE * on this system"); return -1; #endif @@ -207,6 +211,7 @@ PerlIO_get_ptr(PerlIO *f) #ifdef FILE_ptr return FILE_ptr(f); #else + dTHX; Perl_croak(aTHX_ "Cannot get 'ptr' of FILE * on this system"); return NULL; #endif @@ -219,6 +224,7 @@ PerlIO_get_base(PerlIO *f) #ifdef FILE_base return FILE_base(f); #else + dTHX; Perl_croak(aTHX_ "Cannot get 'base' of FILE * on this system"); return NULL; #endif @@ -284,6 +290,7 @@ PerlIO_getname(PerlIO *f, char *buf) #ifdef VMS return fgetname(f,buf); #else + dTHX; Perl_croak(aTHX_ "Don't know how to get file name"); return NULL; #endif @@ -378,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); @@ -389,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); @@ -487,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 @@ -506,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 |