mirror of git://sourceware.org/git/glibc.git
(_IO_file_seekoff_mmap): Set fp->_offset after succesful seek call. Simply error checking.
This commit is contained in:
parent
a753ffb296
commit
66bff4092b
|
|
@ -940,11 +940,6 @@ _IO_file_seekoff_mmap (fp, offset, dir, mode)
|
||||||
case _IO_seek_cur:
|
case _IO_seek_cur:
|
||||||
/* Adjust for read-ahead (bytes is buffer). */
|
/* Adjust for read-ahead (bytes is buffer). */
|
||||||
offset += fp->_IO_read_ptr - fp->_IO_read_base;
|
offset += fp->_IO_read_ptr - fp->_IO_read_base;
|
||||||
if (offset < 0)
|
|
||||||
{
|
|
||||||
__set_errno (EINVAL);
|
|
||||||
return EOF;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case _IO_seek_set:
|
case _IO_seek_set:
|
||||||
break;
|
break;
|
||||||
|
|
@ -955,8 +950,11 @@ _IO_file_seekoff_mmap (fp, offset, dir, mode)
|
||||||
/* At this point, dir==_IO_seek_set. */
|
/* At this point, dir==_IO_seek_set. */
|
||||||
|
|
||||||
if (offset < 0)
|
if (offset < 0)
|
||||||
|
{
|
||||||
/* No negative offsets are valid. */
|
/* No negative offsets are valid. */
|
||||||
|
__set_errno (EINVAL);
|
||||||
return EOF;
|
return EOF;
|
||||||
|
}
|
||||||
|
|
||||||
result = _IO_SYSSEEK (fp, offset, 0);
|
result = _IO_SYSSEEK (fp, offset, 0);
|
||||||
if (result < 0)
|
if (result < 0)
|
||||||
|
|
@ -964,6 +962,7 @@ _IO_file_seekoff_mmap (fp, offset, dir, mode)
|
||||||
|
|
||||||
_IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base + offset,
|
_IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base + offset,
|
||||||
fp->_IO_buf_base + offset);
|
fp->_IO_buf_base + offset);
|
||||||
|
fp->_offset = result;
|
||||||
|
|
||||||
_IO_mask_flags (fp, 0, _IO_EOF_SEEN);
|
_IO_mask_flags (fp, 0, _IO_EOF_SEEN);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue