std_streambuf.h (uflow()): It's used only by basic_stringbuf (i.e....

2003-04-21  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_streambuf.h (uflow()): It's used only by
	basic_stringbuf (i.e., basic_filebuf provide its own uflow()),
	therefore do not consider the _M_buf_unified == true case.

	* include/std/std_streambuf.h (sgetc()): Restore __ret variable.

From-SVN: r65891
This commit is contained in:
Paolo Carlini 2003-04-21 20:11:51 +02:00 committed by Paolo Carlini
parent 337f4314e6
commit 9d3e38ec59
2 changed files with 14 additions and 8 deletions

View File

@ -1,3 +1,11 @@
2003-04-21 Paolo Carlini <pcarlini@unitus.it>
* include/std/std_streambuf.h (uflow()): It's used only by
basic_stringbuf (i.e., basic_filebuf provide its own uflow()),
therefore do not consider the _M_buf_unified == true case.
* include/std/std_streambuf.h (sgetc()): Restore __ret variable.
2003-04-20 Paolo Carlini <pcarlini@unitus.it>
* docs/html/ext/howto.html ('LWG Issues'):

View File

@ -234,8 +234,7 @@ namespace std
* @if maint
* Necessary bits for putback buffer management. Only used in
* the basic_filebuf class, as necessary for the standard
* requirements. The only basic_streambuf member function that
* needs access to these data members is in_avail...
* requirements.
*
* @note pbacks of over one character are not currently supported.
* @endif
@ -452,10 +451,12 @@ namespace std
int_type
sgetc()
{
int_type __ret;
if (_M_in_cur < _M_in_end)
return traits_type::to_int_type(*(this->gptr()));
__ret = traits_type::to_int_type(*(this->gptr()));
else
return this->underflow();
__ret = this->underflow();
return __ret;
}
/**
@ -787,13 +788,10 @@ namespace std
int_type __ret = traits_type::eof();
const bool __testeof =
traits_type::eq_int_type(this->underflow(), __ret);
const bool __testpending = _M_in_cur < _M_in_end;
if (!__testeof && __testpending)
if (!__testeof && _M_in_cur < _M_in_end)
{
__ret = traits_type::to_int_type(*_M_in_cur);
++_M_in_cur;
if (_M_buf_unified && _M_mode & ios_base::out)
++_M_out_cur;
}
return __ret;
}