diff options
Diffstat (limited to 'lib/libc/stdio/fgetpos.c')
-rw-r--r-- | lib/libc/stdio/fgetpos.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/lib/libc/stdio/fgetpos.c b/lib/libc/stdio/fgetpos.c index 239f6d1e0db2..51f14ef35a93 100644 --- a/lib/libc/stdio/fgetpos.c +++ b/lib/libc/stdio/fgetpos.c @@ -42,19 +42,16 @@ static const char rcsid[] = "$FreeBSD$"; #endif /* LIBC_SCCS and not lint */ -#include "namespace.h" #include <stdio.h> -#include "un-namespace.h" -#include "libc_private.h" int -fgetpos(fp, pos) - FILE *fp; - fpos_t *pos; +fgetpos(FILE *fp, fpos_t *pos) { - int retval; - FLOCKFILE(fp); - retval = (*pos = ftello(fp)) == (fpos_t)-1; - FUNLOCKFILE(fp); - return(retval); + /* + * ftello is thread-safe; no need to lock fp. + */ + if ((*pos = ftello(fp)) == (fpos_t)-1) + return (-1); + else + return (0); } |