]> pd.if.org Git - pdclib/blobdiff - functions/stdio/_PDCLIB_ftell64.c
Removed SVN keyword tags.
[pdclib] / functions / stdio / _PDCLIB_ftell64.c
index 650eda548d48051863868df176fffdb1584ecf51..488f46196a09e19f7b7a3b201c8d22005168b734 100644 (file)
@@ -1,5 +1,3 @@
-/* $Id$ */\r
-\r
 /* _PDCLIB_ftell64( FILE * )\r
 \r
    This file is part of the Public Domain C Library (PDCLib).\r
@@ -11,8 +9,9 @@
 #include <limits.h>\r
 \r
 #ifndef REGTEST\r
+#include <_PDCLIB_io.h>\r
 \r
-uint_fast64_t _PDCLIB_ftell64( struct _PDCLIB_file_t * stream )\r
+uint_fast64_t _PDCLIB_ftell64_unlocked( FILE * stream )\r
 {\r
     /* ftell() must take into account:\r
        - the actual *physical* offset of the file, i.e. the offset as recognized\r
@@ -38,6 +37,14 @@ uint_fast64_t _PDCLIB_ftell64( struct _PDCLIB_file_t * stream )
     return ( stream->pos.offset - ( ( (int)stream->bufend - (int)stream->bufidx ) + (int)stream->ungetidx ) );\r
 }\r
 \r
+uint_fast64_t _PDCLIB_ftell64( FILE * stream )\r
+{\r
+  _PDCLIB_flockfile( stream );\r
+  uint_fast64_t pos = _PDCLIB_ftell64_unlocked( stream );\r
+  _PDCLIB_funlockfile( stream );\r
+  return pos;\r
+}\r
+\r
 #endif\r
 \r
 #ifdef TEST\r