Annotation of coherent/b/lib/libc/stdio/ftell.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * libc/stdio/ftell.c
                      3:  * ANSI-compliant C standard i/o library.
                      4:  * ftell()
                      5:  * ANSI 4.9.9.4.
                      6:  * Find logical file position on stream.
                      7:  */
                      8: 
                      9: #include <stdio.h>
                     10: #include <errno.h>
                     11: 
                     12: #define        EFGETPOS        EINVAL
                     13: 
                     14: long
                     15: ftell(stream) register FILE *stream;
                     16: {
                     17:        register long offset;
                     18:        register _FILE2 *f2p;
                     19: 
                     20:        f2p = stream->_f2p;
                     21: 
                     22:        if ((offset=lseek(fileno(stream), 0L, SEEK_CUR)) == -1L) {
                     23:                errno = EFGETPOS;
                     24:                return offset;
                     25:        }
                     26:        if (f2p->_bp!=NULL)
                     27:                offset += stream->_cp - f2p->_dp;
                     28:        if (stream->_ff2&_FUNGOT)
                     29:                --offset;
                     30:        return offset;
                     31: }
                     32: 
                     33: /* end of libc/stdio/ftell.c */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.