libstdc++/9024: Input fails after call to basic_filebuf<>::pubsetbuf(0, 0)

Paolo Carlini pcarlini@unitus.it
Mon Mar 3 10:56:00 GMT 2003


The following reply was made to PR libstdc++/9024; it has been noted by GNATS.

From: Paolo Carlini <pcarlini@unitus.it>
To: =?ISO-8859-1?Q?P=E9tur_Run=F3lfsson?= <peturr02@ru.is>
Cc: gcc-gnats@gcc.gnu.org,  gcc-bugs@gcc.gnu.org,  paolo@gcc.gnu.org, 
 gcc-prs@gcc.gnu.org, bkoz <bkoz@redhat.com>
Subject: Re: libstdc++/9024: Input fails after call to basic_filebuf<>::pubsetbuf(0,
 0)
Date: Mon, 03 Mar 2003 11:45:47 +0100

 Pétur Runólfsson wrote:
 
 >>A memo: while working on a fix for libstdc++/9423 (quite easy 
 >>by itself),
 >>finally seems obvious how to fix 9024: in _M_underflow_common add a
 >>separate case for !__testget && !__testinit, which simply calls
 >>_M_file.xsgetn(&__c, 1) and returns __ret = 
 >>traits_type::to_int_type(__c).
 >>    
 >>
 >Does this work when codecvt::encoding() != 1 ?
 >
 One thing at a time Pétur!
 Your problem report was about plain chars, right?
 
 Eventually, _M_underflow_common(wchar_t) will obviously include 
 something along
 these lines (the approach works, by the way), taking into account 
 encoding() to fetch the
 appropriate number of external bytes decoded to get one internal char, 
 together with other
 fixes for 9178 and 9875.
 
 Paolo.
 
 
 



More information about the Gcc-prs mailing list