[
https://issues.apache.org/jira/browse/STDCXX-640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Farid Zaripov updated STDCXX-640:
---------------------------------
Description:
The following program fails on assert.
{noformat}
#include <cassert>
#include <sstream>
#include <string>
int main ()
{
typedef std::num_get<char> NumGet;
typedef std::istreambuf_iterator<char> Iter;
std::locale loc;
for (unsigned i = 0; i < 10000; ++i) {
std::string s (i, '0');
s.push_back ('1');
std::istringstream is (s);
std::ios::iostate state = std::ios::goodbit;
long val = 0;
std::use_facet<NumGet> (loc).get (Iter (is), Iter (), is, state, val);
assert (1 == val && std::ios::eofbit == state);
}
return 0;
}
{noformat}
was:
The following program fails on assert.
#include <cassert>
#include <sstream>
#include <string>
int main ()
{
typedef std::num_get<char> NumGet;
typedef std::istreambuf_iterator<char> Iter;
std::locale loc;
for (unsigned i = 0; i < 10000; ++i) {
std::string s (i, '0');
s.push_back ('1');
std::istringstream is (s);
std::ios::iostate state = std::ios::goodbit;
long val = 0;
std::use_facet<NumGet> (loc).get (Iter (is), Iter (), is, state, val);
assert (1 == val && std::ios::eofbit == state);
}
return 0;
}
Fix Version/s: 4.2.1
Disabled formatting.
Set Fix Version's to 4.2.1.
> std::num_get::do_get() parses no more than 128 characters
> ---------------------------------------------------------
>
> Key: STDCXX-640
> URL: https://issues.apache.org/jira/browse/STDCXX-640
> Project: C++ Standard Library
> Issue Type: Bug
> Components: 22. Localization
> Affects Versions: 4.1.2, 4.1.3, 4.1.4, 4.2.0
> Environment: All
> Reporter: Farid Zaripov
> Priority: Minor
> Fix For: 4.2.1
>
>
> The following program fails on assert.
> {noformat}
> #include <cassert>
> #include <sstream>
> #include <string>
> int main ()
> {
> typedef std::num_get<char> NumGet;
> typedef std::istreambuf_iterator<char> Iter;
> std::locale loc;
> for (unsigned i = 0; i < 10000; ++i) {
> std::string s (i, '0');
> s.push_back ('1');
> std::istringstream is (s);
> std::ios::iostate state = std::ios::goodbit;
> long val = 0;
> std::use_facet<NumGet> (loc).get (Iter (is), Iter (), is, state, val);
> assert (1 == val && std::ios::eofbit == state);
> }
> return 0;
> }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.