X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fstdio%2Fftell.c;h=ba79db3b8218268efaf100027dfbedbd6759b8bc;hb=3309ec3ad8a5db735eaa2de7f5dc6a331d8e7319;hp=d39297f688ae9bc170360f5e5902eca020e2c4e4;hpb=fa0737b4368052d0e61a726d13ee7e659993f052;p=pdclib.old diff --git a/functions/stdio/ftell.c b/functions/stdio/ftell.c index d39297f..ba79db3 100644 --- a/functions/stdio/ftell.c +++ b/functions/stdio/ftell.c @@ -12,10 +12,11 @@ #include #ifndef REGTEST +#include <_PDCLIB_io.h> -long int ftell( struct _PDCLIB_file_t * stream ) +long int _PDCLIB_ftell_unlocked( FILE * stream ) { - uint_fast64_t off64 = _PDCLIB_ftell64( stream ); + uint_fast64_t off64 = _PDCLIB_ftell64_unlocked( stream ); if ( off64 > LONG_MAX ) { @@ -26,12 +27,22 @@ long int ftell( struct _PDCLIB_file_t * stream ) return off64; } +long int ftell( FILE * stream ) +{ + _PDCLIB_flockfile( stream ); + long int off = _PDCLIB_ftell_unlocked( stream ); + _PDCLIB_funlockfile( stream ); + return off; +} + #endif #ifdef TEST #include <_PDCLIB_test.h> - #include +#ifndef REGTEST +#include <_PDCLIB_io.h> +#endif int main( void ) {