@@ -1385,15 +1385,15 @@ protected:
13851385 const streamsize _Precision = _Is_hex ? -1 : _Iosbase.precision(); // precision setting
13861386 const int _Desired_precision =
13871387 _Float_put_desired_precision<double>(_Precision, _Float_flags); // desired precision
1388- size_t _Bufsize = static_cast<size_t>(_Desired_precision);
1389- if (_Is_fixed && 1e10 < _CSTD fabs(_Val)) { // f or F format
1390- int _Ptwo;
1388+ size_t _Bufsize = static_cast<size_t>(_Desired_precision);
1389+ const bool _Is_finite = (_STD isfinite) (_Val);
1390+ if (_Is_fixed && _Is_finite && 1e10 < _CSTD fabs(_Val)) { // f or F format
1391+ int _Ptwo = 0;
13911392 (void) _CSTD frexp(_Val, &_Ptwo);
13921393 _Bufsize += _CSTD abs(_Ptwo) * 30103L / 100000L;
13931394 }
13941395
13951396 _Buf.resize(_Bufsize + 50); // add fudge factor
1396- const bool _Is_finite = (_STD isfinite) (_Val);
13971397 const auto _Adjusted_flags = // TRANSITION, DevCom-10519861
13981398 _Is_finite ? _Iosbase.flags() : _Iosbase.flags() & ~ios_base::showpoint;
13991399
@@ -1419,15 +1419,15 @@ protected:
14191419 const streamsize _Precision = _Is_hex ? -1 : _Iosbase.precision(); // precision setting
14201420 const int _Desired_precision =
14211421 _Float_put_desired_precision<long double>(_Precision, _Float_flags); // desired precision
1422- size_t _Bufsize = static_cast<size_t>(_Desired_precision);
1423- if (_Is_fixed && 1e10 < _CSTD fabsl(_Val)) { // f or F format
1424- int _Ptwo;
1422+ size_t _Bufsize = static_cast<size_t>(_Desired_precision);
1423+ const bool _Is_finite = (_STD isfinite) (_Val);
1424+ if (_Is_fixed && _Is_finite && 1e10 < _CSTD fabsl(_Val)) { // f or F format
1425+ int _Ptwo = 0;
14251426 (void) _CSTD frexpl(_Val, &_Ptwo);
14261427 _Bufsize += _CSTD abs(_Ptwo) * 30103L / 100000L;
14271428 }
14281429
14291430 _Buf.resize(_Bufsize + 50); // add fudge factor
1430- const bool _Is_finite = (_STD isfinite) (_Val);
14311431 const auto _Adjusted_flags = // TRANSITION, DevCom-10519861
14321432 _Is_finite ? _Iosbase.flags() : _Iosbase.flags() & ~ios_base::showpoint;
14331433
0 commit comments