From 551374c228f1b6e1c07bec5e49c5b4a9f3de44bb Mon Sep 17 00:00:00 2001 From: Erik van der Kouwe Date: Mon, 16 Aug 2010 17:07:40 +0000 Subject: [PATCH] Add ftello function --- include/stdio.h | 1 + lib/libc/stdio/ftell.c | 7 +++++++ man/man3/fseek.3 | 7 +++++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/include/stdio.h b/include/stdio.h index 0e61090b2..bef6c6cec 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -120,6 +120,7 @@ _PROTOTYPE( int fseek, (FILE *_stream, long _offset, int _whence) ); _PROTOTYPE( int fseeko, (FILE *_stream, off_t _offset, int _whence) ); _PROTOTYPE( int fsetpos, (FILE *_stream, fpos_t *_pos) ); _PROTOTYPE( long ftell, (FILE *_stream) ); +_PROTOTYPE( off_t ftello, (FILE *_stream) ); _PROTOTYPE( void rewind, (FILE *_stream) ); _PROTOTYPE( void clearerr, (FILE *_stream) ); _PROTOTYPE( int feof, (FILE *_stream) ); diff --git a/lib/libc/stdio/ftell.c b/lib/libc/stdio/ftell.c index d0c147174..cbfa17c5f 100644 --- a/lib/libc/stdio/ftell.c +++ b/lib/libc/stdio/ftell.c @@ -3,6 +3,7 @@ */ /* $Header$ */ +#include #include #if (SEEK_CUR != 1) || (SEEK_SET != 0) || (SEEK_END != 2) @@ -16,6 +17,12 @@ off_t _lseek(int fildes, off_t offset, int whence); long ftell(FILE *stream) +{ + assert(sizeof(long) == sizeof(off_t)); + return (long) ftello(stream); +} + +off_t ftello(FILE *stream) { long result; int adjust = 0; diff --git a/man/man3/fseek.3 b/man/man3/fseek.3 index 53d22561a..23baa6f39 100644 --- a/man/man3/fseek.3 +++ b/man/man3/fseek.3 @@ -3,7 +3,7 @@ .TH FSEEK 3 "February 24, 1986" .AT 3 .SH NAME -fseek, fseeko, ftell, rewind \- reposition a stream +fseek, fseeko, ftell, ftello, rewind \- reposition a stream .SH SYNOPSIS .nf .ft B @@ -12,6 +12,7 @@ fseek, fseeko, ftell, rewind \- reposition a stream int fseek(FILE *\fIstream\fP, long \fIoffset\fP, int \fIptrname\fP) int fseeko(FILE *\fIstream\fP, off_t \fIoffset\fP, int \fIptrname\fP) long ftell(FILE *\fIstream\fP) +off_t ftello(FILE *\fIstream\fP) void rewind(FILE *\fIstream\fP) .ft R .fi @@ -37,7 +38,9 @@ undo any effects of .BR ungetc (3). .PP .B Ftell -returns the current value of the offset relative to the beginning +and +.B ftello +return the current value of the offset relative to the beginning of the file associated with the named .IR stream . It is measured in bytes on UNIX;