]> pd.if.org Git - pdclib/blobdiff - functions/stdio/ftell.c
PDCLIB-16: Add _unlocked variations of all I/O routines; move work into these versions
[pdclib] / functions / stdio / ftell.c
index d39297f688ae9bc170360f5e5902eca020e2c4e4..74bb902407a4672dfcb3c4beacc8519b16ab11ab 100644 (file)
@@ -13,9 +13,9 @@
 
 #ifndef REGTEST
 
-long int ftell( struct _PDCLIB_file_t * stream )
+long int ftell_unlocked( struct _PDCLIB_file_t * stream )
 {
-    uint_fast64_t off64 = _PDCLIB_ftell64( stream );
+    uint_fast64_t off64 = _PDCLIB_ftell64_unlocked( stream );
 
     if ( off64 > LONG_MAX )
     {
@@ -26,6 +26,14 @@ long int ftell( struct _PDCLIB_file_t * stream )
     return off64;
 }
 
+long int ftell( struct _PDCLIB_file_t * stream )
+{
+    flockfile( stream );
+    long int off = ftell_unlocked( stream );
+    funlockfile( stream );
+    return off;
+}
+
 #endif
 
 #ifdef TEST