Deleted Added
full compact
42c42
< "$FreeBSD: head/lib/libc/stdio/ftell.c 82684 2001-08-31 20:36:19Z ache $";
---
> "$FreeBSD: head/lib/libc/stdio/ftell.c 82709 2001-09-01 01:56:54Z ache $";
78c78,79
< register off_t rv;
---
> fpos_t rv;
> int ret;
85c86
< rv = _ftello(fp);
---
> ret = _ftello(fp, &rv);
86a88,91
> if (ret)
> return (-1);
> if (rv < 0) /* Unspecified value because of ungetc() at 0 */
> rv = 0;
90,91c95,96
< off_t
< _ftello(fp)
---
> int
> _ftello(fp, offset)
92a98
> fpos_t *offset;
99c105
< return (-1);
---
> return (1);
113c119
< return (-1);
---
> return (1);
121,126c127,135
< if ((pos -= fp->_r) < 0 ||
< (HASUB(fp) && (pos -= fp->_ur) < 0)) {
< fp->_p = fp->_bf._base;
< fp->_r = 0;
< if (HASUB(fp))
< FREEUB(fp);
---
> if ((pos -= (HASUB(fp) ? fp->_ur : fp->_r)) < 0) {
> /* Lost position, resync. */
> if (HASUB(fp)) {
> fp->_extra->_up = fp->_bf._base;
> fp->_ur = 0;
> } else {
> fp->_p = fp->_bf._base;
> fp->_r = 0;
> }
130a140,141
> if (HASUB(fp))
> pos -= fp->_r; /* Can be negative at this point. */
140c151
< return (-1);
---
> return (1);
144c155,156
< return (pos);
---
> *offset = pos;
> return (0);