X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fstdio%2Fftell.c;h=441c9fc84c4d45edccd5964a943a482df0c125ca;hb=0a419d48138f1411d6e3e50a367b9ece5a2cf893;hp=d39297f688ae9bc170360f5e5902eca020e2c4e4;hpb=05556502a427911d4499c22b809ca7d366327d7c;p=pdclib diff --git a/functions/stdio/ftell.c b/functions/stdio/ftell.c index d39297f..441c9fc 100644 --- a/functions/stdio/ftell.c +++ b/functions/stdio/ftell.c @@ -13,9 +13,9 @@ #ifndef REGTEST -long int ftell( struct _PDCLIB_file_t * stream ) +long int 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 +26,22 @@ long int ftell( struct _PDCLIB_file_t * stream ) return off64; } +long int ftell( FILE * stream ) +{ + flockfile( stream ); + long int off = ftell_unlocked( stream ); + funlockfile( stream ); + return off; +} + #endif #ifdef TEST #include <_PDCLIB_test.h> - #include +#ifndef REGTEST +#include <_PDCLIB_io.h> +#endif int main( void ) {