2000-08-03  Ulrich Drepper  <drepper@redhat.com>

	* libio/iofwide.c (_IO_fwide): Initialize fp->_codecvt as well.
	* libio/fileops.c (_IO_new_file_fopen): Use _codecvt not from
	_wide_data but from _IO_FILE directly.
	* libio/iofclose.c: Likewise.
	* libio/wfileops.c: Likewise.

	* libio/genops.c (_IO_default_showmanyc): Change return type to size_t.
	* libio/libioP.h: Change prototypes.
This commit is contained in:
Ulrich Drepper 2000-08-03 23:38:34 +00:00
parent 5b9f145081
commit faf8ccabe9
6 changed files with 20 additions and 9 deletions

View File

@ -1,3 +1,14 @@
2000-08-03 Ulrich Drepper <drepper@redhat.com>
* libio/iofwide.c (_IO_fwide): Initialize fp->_codecvt as well.
* libio/fileops.c (_IO_new_file_fopen): Use _codecvt not from
_wide_data but from _IO_FILE directly.
* libio/iofclose.c: Likewise.
* libio/wfileops.c: Likewise.
* libio/genops.c (_IO_default_showmanyc): Change return type to size_t.
* libio/libioP.h: Change prototypes.
2000-08-03 Greg McGary <greg@mcgary.org>
* sysdeps/i386/setjmp.S (__sigsetjmp): Pop our

View File

@ -289,7 +289,7 @@ _IO_new_file_fopen (fp, filename, mode, is32not64)
return NULL;
}
cc = &fp->_wide_data->_codecvt;
cc = fp->_codecvt = &fp->_wide_data->_codecvt;
/* The functions are always the same. */
*cc = __libio_codecvt;

View File

@ -61,7 +61,7 @@ _IO_new_fclose (fp)
#if _LIBC
/* This stream has a wide orientation. This means we have to free
the conversion functions. */
struct _IO_codecvt *cc = &fp->_wide_data->_codecvt;
struct _IO_codecvt *cc = &fp->_codecvt;
if (cc->__cd_in.__cd.__steps->__shlib_handle != NULL)
{

View File

@ -114,7 +114,7 @@ _IO_fwide (fp, mode)
#ifdef _LIBC
{
struct gconv_fcts fcts;
struct _IO_codecvt *cc = &fp->_wide_data->_codecvt;
struct _IO_codecvt *cc = fp->_codecvt = &fp->_wide_data->_codecvt;
__wcsmbs_clone_conv (&fcts);

View File

@ -256,7 +256,7 @@ typedef int (*_IO_stat_t) __PMT ((_IO_FILE *, void *));
/* The 'showmany' hook can be used to get an image how much input is
available. In many cases the answer will be 0 which means unknown
but some cases one can provide real information. */
typedef int (*_IO_showmanyc_t) __PMT ((_IO_FILE *));
typedef size_t (*_IO_showmanyc_t) __PMT ((_IO_FILE *));
#define _IO_SHOWMANYC(FP) JUMP0 (__showmanyc, FP)
#define _IO_WSHOWMANYC(FP) WJUMP0 (__showmanyc, FP)
@ -404,7 +404,7 @@ extern int _IO_default_stat __P ((_IO_FILE *, void *));
extern _IO_off64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int));
extern int _IO_default_sync __P ((_IO_FILE *));
#define _IO_default_close ((_IO_close_t) _IO_default_sync)
extern int _IO_default_showmanyc __P ((_IO_FILE *));
extern size_t _IO_default_showmanyc __P ((_IO_FILE *));
extern void _IO_default_imbue __P ((_IO_FILE *, void *));
extern struct _IO_jump_t _IO_file_jumps;

View File

@ -59,7 +59,7 @@ _IO_wdo_write (fp, data, to_do)
const wchar_t *data;
_IO_size_t to_do;
{
struct _IO_codecvt *cc = &fp->_wide_data->_codecvt;
struct _IO_codecvt *cc = &fp->_codecvt;
if (to_do > 0)
{
@ -133,7 +133,7 @@ _IO_wfile_underflow (fp)
if (fp->_wide_data->_IO_read_ptr < fp->_wide_data->_IO_read_end)
return *fp->_wide_data->_IO_read_ptr;
cd = &fp->_wide_data->_codecvt;
cd = &fp->_codecvt;
/* Maybe there is something left in the external buffer. */
if (fp->_IO_read_ptr < fp->_IO_read_end)
@ -362,7 +362,7 @@ _IO_wfile_sync (fp)
{
/* We have to find out how many bytes we have to go back in the
external buffer. */
struct _IO_codecvt *cv = &fp->_wide_data->_codecvt;
struct _IO_codecvt *cv = &fp->_codecvt;
_IO_off64_t new_pos;
int clen = (*cv->__codecvt_do_encoding) (cv);
@ -466,7 +466,7 @@ _IO_wfile_seekoff (fp, offset, dir, mode)
/* Adjust for read-ahead (bytes is buffer). To do this we must
find out which position in the external buffer corresponds to
the current position in the internal buffer. */
cv = &fp->_wide_data->_codecvt;
cv = &fp->_codecvt;
clen = (*cv->__codecvt_do_encoding) (cv);
if (clen > 0)