mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-26 04:14:06 +08:00
locale_facets.tcc (time_get<>::do_get_time, [...]): Use only once _M_extract_via_format...
2004-06-13 Paolo Carlini <pcarlini@suse.de> * include/bits/locale_facets.tcc (time_get<>::do_get_time, time_get<>::do_get_date): Use only once _M_extract_via_format, instead of going through "%X"/"%x" and calling it two times (+ using widen). From-SVN: r83059
This commit is contained in:
parent
9f680e794f
commit
fc6b41718d
@ -1,3 +1,10 @@
|
||||
2004-06-13 Paolo Carlini <pcarlini@suse.de>
|
||||
|
||||
* include/bits/locale_facets.tcc (time_get<>::do_get_time,
|
||||
time_get<>::do_get_date): Use only once _M_extract_via_format,
|
||||
instead of going through "%X"/"%x" and calling it two times
|
||||
(+ using widen).
|
||||
|
||||
2004-06-12 Paolo Carlini <pcarlini@suse.de>
|
||||
|
||||
* include/ext/algorithm: Trivial formatting fixes.
|
||||
|
@ -1724,10 +1724,8 @@ namespace std
|
||||
time_get<_CharT, _InIter>::do_date_order() const
|
||||
{ return time_base::no_order; }
|
||||
|
||||
// Recursively expand a strftime format string and parse it. Starts w/ %x
|
||||
// and %X from do_get_time() and do_get_date(), which translate to a more
|
||||
// specific string, which may contain yet more strings. I.e. %x => %r =>
|
||||
// %H:%M:%S => extracted characters.
|
||||
// Expand a strftime format string and parse it. E.g., do_get_date() may
|
||||
// pass %m/%d/%Y => extracted characters.
|
||||
template<typename _CharT, typename _InIter>
|
||||
_InIter
|
||||
time_get<_CharT, _InIter>::
|
||||
@ -2056,12 +2054,12 @@ namespace std
|
||||
do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
|
||||
ios_base::iostate& __err, tm* __tm) const
|
||||
{
|
||||
_CharT __wcs[3];
|
||||
const char* __cs = "%X";
|
||||
const locale& __loc = __io._M_getloc();
|
||||
ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
|
||||
__ctype.widen(__cs, __cs + 3, __wcs);
|
||||
__beg = _M_extract_via_format(__beg, __end, __io, __err, __tm, __wcs);
|
||||
const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
|
||||
const char_type* __times[2];
|
||||
__tp._M_time_formats(__times);
|
||||
__beg = _M_extract_via_format(__beg, __end, __io, __err,
|
||||
__tm, __times[0]);
|
||||
if (__beg == __end)
|
||||
__err |= ios_base::eofbit;
|
||||
return __beg;
|
||||
@ -2073,12 +2071,12 @@ namespace std
|
||||
do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
|
||||
ios_base::iostate& __err, tm* __tm) const
|
||||
{
|
||||
_CharT __wcs[3];
|
||||
const char* __cs = "%x";
|
||||
const locale& __loc = __io._M_getloc();
|
||||
ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
|
||||
__ctype.widen(__cs, __cs + 3, __wcs);
|
||||
__beg = _M_extract_via_format(__beg, __end, __io, __err, __tm, __wcs);
|
||||
const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
|
||||
const char_type* __dates[2];
|
||||
__tp._M_date_formats(__dates);
|
||||
__beg = _M_extract_via_format(__beg, __end, __io, __err,
|
||||
__tm, __dates[0]);
|
||||
if (__beg == __end)
|
||||
__err |= ios_base::eofbit;
|
||||
return __beg;
|
||||
|
Loading…
Reference in New Issue
Block a user