]> pd.if.org Git - pdclib.old/blobdiff - functions/stdio/ftell.c
Minimize the amount of internal definitions which get exposed via the user-visible...
[pdclib.old] / functions / stdio / ftell.c
index d39297f688ae9bc170360f5e5902eca020e2c4e4..441c9fc84c4d45edccd5964a943a482df0c125ca 100644 (file)
@@ -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 <stdlib.h>
+#ifndef REGTEST
+#include <_PDCLIB_io.h>
+#endif
 
 int main( void )
 {