1 /* 2 * pANS stdio -- ftello 3 */ 4 #include "iolib.h" ftello(FILE * f)5off_t ftello(FILE *f){ 6 off_t seekp=lseek(f->fd, 0L, 1); 7 if(seekp<0) return -1; /* enter error state? */ 8 switch(f->state){ 9 default: 10 return seekp; 11 case RD: 12 return seekp-(f->wp-f->rp); 13 case WR: 14 return (f->flags&LINEBUF?f->lp:f->wp)-f->buf+seekp; 15 } 16 } 17