X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fstdio%2Fftell.c;h=67ab676098d7eca06043c2e565ab458998bd9129;hb=e1c526e9bad3f6e69391e94059096145390508d3;hp=d39297f688ae9bc170360f5e5902eca020e2c4e4;hpb=05556502a427911d4499c22b809ca7d366327d7c;p=pdclib diff --git a/functions/stdio/ftell.c b/functions/stdio/ftell.c index d39297f..67ab676 100644 --- a/functions/stdio/ftell.c +++ b/functions/stdio/ftell.c @@ -1,5 +1,3 @@ -/* $Id$ */ - /* ftell( FILE * ) This file is part of the Public Domain C Library (PDCLib). @@ -12,10 +10,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 +25,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 ) {