mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Use al possible bytes from fopen mode string.
This commit is contained in:
committed by
Ulrich Drepper
parent
4df46dbda7
commit
b722481ac2
@ -1,3 +1,10 @@
|
|||||||
|
2011-04-22 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
|
||||||
|
[BZ #12685]
|
||||||
|
* libio/fileops.c (_IO_new_file_fopen): Scan up to 7 bytes of the
|
||||||
|
mode string.
|
||||||
|
Patch by Eric Blake <eblake@redhat.com>.
|
||||||
|
|
||||||
2011-04-20 H.J. Lu <hongjiu.lu@intel.com>
|
2011-04-20 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* sunrpc/Makefile (need-export-routines): Add svc_run.
|
* sunrpc/Makefile (need-export-routines): Add svc_run.
|
||||||
|
4
NEWS
4
NEWS
@ -1,4 +1,4 @@
|
|||||||
GNU C Library NEWS -- history of user-visible changes. 2011-4-17
|
GNU C Library NEWS -- history of user-visible changes. 2011-4-22
|
||||||
Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc.
|
Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc.
|
||||||
See the end for copying conditions.
|
See the end for copying conditions.
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ Version 2.14
|
|||||||
* The following bugs are resolved with this release:
|
* The following bugs are resolved with this release:
|
||||||
|
|
||||||
11724, 12420, 12445, 12454, 12460, 12469, 12489, 12509, 12510, 12518, 12583,
|
11724, 12420, 12445, 12454, 12460, 12469, 12489, 12509, 12510, 12518, 12583,
|
||||||
12587, 12597, 12631, 12650, 12653, 12655
|
12587, 12597, 12631, 12650, 12653, 12655, 12685
|
||||||
|
|
||||||
Version 2.13
|
Version 2.13
|
||||||
|
|
||||||
|
@ -290,7 +290,7 @@ _IO_new_file_fopen (fp, filename, mode, is32not64)
|
|||||||
#ifdef _LIBC
|
#ifdef _LIBC
|
||||||
last_recognized = mode;
|
last_recognized = mode;
|
||||||
#endif
|
#endif
|
||||||
for (i = 1; i < 6; ++i)
|
for (i = 1; i < 7; ++i)
|
||||||
{
|
{
|
||||||
switch (*++mode)
|
switch (*++mode)
|
||||||
{
|
{
|
||||||
@ -997,18 +997,18 @@ _IO_new_file_seekoff (fp, offset, dir, mode)
|
|||||||
/* Adjust for read-ahead (bytes is buffer). */
|
/* Adjust for read-ahead (bytes is buffer). */
|
||||||
offset -= fp->_IO_read_end - fp->_IO_read_ptr;
|
offset -= fp->_IO_read_end - fp->_IO_read_ptr;
|
||||||
if (fp->_offset == _IO_pos_BAD)
|
if (fp->_offset == _IO_pos_BAD)
|
||||||
{
|
{
|
||||||
if (mode != 0)
|
if (mode != 0)
|
||||||
goto dumb;
|
goto dumb;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result = _IO_SYSSEEK (fp, 0, dir);
|
result = _IO_SYSSEEK (fp, 0, dir);
|
||||||
if (result == EOF)
|
if (result == EOF)
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
fp->_offset = result;
|
fp->_offset = result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Make offset absolute, assuming current pointer is file_ptr(). */
|
/* Make offset absolute, assuming current pointer is file_ptr(). */
|
||||||
offset += fp->_offset;
|
offset += fp->_offset;
|
||||||
if (offset < 0)
|
if (offset < 0)
|
||||||
@ -1270,7 +1270,7 @@ _IO_new_file_write (f, data, n)
|
|||||||
{
|
{
|
||||||
f->_flags |= _IO_ERR_SEEN;
|
f->_flags |= _IO_ERR_SEEN;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
to_do -= count;
|
to_do -= count;
|
||||||
data = (void *) ((char *) data + count);
|
data = (void *) ((char *) data + count);
|
||||||
}
|
}
|
||||||
@ -1358,12 +1358,12 @@ _IO_new_file_xsputn (f, data, n)
|
|||||||
do_write = to_do - (block_size >= 128 ? to_do % block_size : 0);
|
do_write = to_do - (block_size >= 128 ? to_do % block_size : 0);
|
||||||
|
|
||||||
if (do_write)
|
if (do_write)
|
||||||
{
|
{
|
||||||
count = new_do_write (f, s, do_write);
|
count = new_do_write (f, s, do_write);
|
||||||
to_do -= count;
|
to_do -= count;
|
||||||
if (count < do_write)
|
if (count < do_write)
|
||||||
return n - to_do;
|
return n - to_do;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Now write out the remainder. Normally, this will fit in the
|
/* Now write out the remainder. Normally, this will fit in the
|
||||||
buffer, but it's somewhat messier for line-buffered files,
|
buffer, but it's somewhat messier for line-buffered files,
|
||||||
|
Reference in New Issue
Block a user