Commit 1f3adac2 by Paolo Carlini Committed by Paolo Carlini

locale_facets.tcc (num_get::_M_extract_int): Slightly streamline the code…

locale_facets.tcc (num_get::_M_extract_int): Slightly streamline the code dealing with overflows and the parsing of the sign.

2003-12-09  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_int):
	Slightly streamline the code dealing with overflows and the
	parsing of the sign.

From-SVN: r74476
parent 579ed987
2003-12-09 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get::_M_extract_int):
Slightly streamline the code dealing with overflows and the
parsing of the sign.
2003-12-09 Bernardo Innocenti <bernie@develer.com>
* include/ext/algorithm, include/ext/debug_allocator.h,
......
......@@ -283,9 +283,9 @@ namespace std
bool __negative = false;
if (__beg != __end)
{
__negative = __traits_type::eq(*__beg, __lit[_S_iminus]);
if (__negative && numeric_limits<_ValueT>::is_signed
|| __traits_type::eq(*__beg, __lit[_S_iplus]))
if (numeric_limits<_ValueT>::is_signed)
__negative = __traits_type::eq(*__beg, __lit[_S_iminus]);
if (__negative || __traits_type::eq(*__beg, __lit[_S_iplus]))
++__beg;
}
......@@ -353,8 +353,7 @@ namespace std
else
{
const _ValueT __new_result = __result * __base - __digit;
if (__result)
__overflow |= __new_result >= __result;
__overflow |= __new_result > __result;
__result = __new_result;
++__sep_pos;
__found_num = true;
......@@ -398,8 +397,7 @@ namespace std
else
{
const _ValueT __new_result = __result * __base + __digit;
if (__result)
__overflow |= __new_result <= __result;
__overflow |= __new_result < __result;
__result = __new_result;
++__sep_pos;
__found_num = true;
......@@ -436,8 +434,8 @@ namespace std
__err |= ios_base::failbit;
}
if (!(__err & ios_base::failbit)
&& !__overflow && __found_num)
if (!(__err & ios_base::failbit) && !__overflow
&& __found_num)
__v = __result;
else
__err |= ios_base::failbit;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment