Added in.clear() before resetting I/Os streams. Again, thanks to the
list.
This commit is contained in:
parent
56b2234809
commit
6cee916e04
6 changed files with 11 additions and 0 deletions
|
|
@ -489,6 +489,7 @@ bool binary_parser_t::test(std::istream& in) const
|
||||||
read_binary_number<unsigned long>(in) == format_version)
|
read_binary_number<unsigned long>(in) == format_version)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
in.clear();
|
||||||
in.seekg(0, std::ios::beg);
|
in.seekg(0, std::ios::beg);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -345,6 +345,7 @@ bool gnucash_parser_t::test(std::istream& in) const
|
||||||
{
|
{
|
||||||
char buf[5];
|
char buf[5];
|
||||||
in.read(buf, 5);
|
in.read(buf, 5);
|
||||||
|
in.clear();
|
||||||
in.seekg(0, std::ios::beg);
|
in.seekg(0, std::ios::beg);
|
||||||
|
|
||||||
return std::strncmp(buf, "<?xml", 5) == 0;
|
return std::strncmp(buf, "<?xml", 5) == 0;
|
||||||
|
|
|
||||||
4
ofx.cc
4
ofx.cc
|
|
@ -172,10 +172,12 @@ bool ofx_parser_t::test(std::istream& in) const
|
||||||
|
|
||||||
in.getline(buf, 79);
|
in.getline(buf, 79);
|
||||||
if (std::strncmp(buf, "OFXHEADER", 9) == 0) {
|
if (std::strncmp(buf, "OFXHEADER", 9) == 0) {
|
||||||
|
in.clear();
|
||||||
in.seekg(0, std::ios::beg);
|
in.seekg(0, std::ios::beg);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (std::strncmp(buf, "<?xml", 5) != 0) {
|
else if (std::strncmp(buf, "<?xml", 5) != 0) {
|
||||||
|
in.clear();
|
||||||
in.seekg(0, std::ios::beg);
|
in.seekg(0, std::ios::beg);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -183,10 +185,12 @@ bool ofx_parser_t::test(std::istream& in) const
|
||||||
in.getline(buf, 79);
|
in.getline(buf, 79);
|
||||||
if (std::strncmp(buf, "<?OFX", 5) != 0 &&
|
if (std::strncmp(buf, "<?OFX", 5) != 0 &&
|
||||||
std::strncmp(buf, "<?ofx", 5) != 0) {
|
std::strncmp(buf, "<?ofx", 5) != 0) {
|
||||||
|
in.clear();
|
||||||
in.seekg(0, std::ios::beg);
|
in.seekg(0, std::ios::beg);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
in.clear();
|
||||||
in.seekg(0, std::ios::beg);
|
in.seekg(0, std::ios::beg);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
1
qif.cc
1
qif.cc
|
|
@ -30,6 +30,7 @@ bool qif_parser_t::test(std::istream& in) const
|
||||||
char magic[sizeof(unsigned int) + 1];
|
char magic[sizeof(unsigned int) + 1];
|
||||||
in.read(magic, sizeof(unsigned int));
|
in.read(magic, sizeof(unsigned int));
|
||||||
magic[sizeof(unsigned int)] = '\0';
|
magic[sizeof(unsigned int)] = '\0';
|
||||||
|
in.clear();
|
||||||
in.seekg(0, std::ios::beg);
|
in.seekg(0, std::ios::beg);
|
||||||
|
|
||||||
return (std::strcmp(magic, "!Typ") == 0 ||
|
return (std::strcmp(magic, "!Typ") == 0 ||
|
||||||
|
|
|
||||||
|
|
@ -457,6 +457,7 @@ bool textual_parser_t::test(std::istream& in) const
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
in.clear();
|
||||||
in.seekg(0, std::ios::beg);
|
in.seekg(0, std::ios::beg);
|
||||||
assert(in.good());
|
assert(in.good());
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
3
xml.cc
3
xml.cc
|
|
@ -158,16 +158,19 @@ bool xml_parser_t::test(std::istream& in) const
|
||||||
|
|
||||||
in.getline(buf, 79);
|
in.getline(buf, 79);
|
||||||
if (std::strncmp(buf, "<?xml", 5) != 0) {
|
if (std::strncmp(buf, "<?xml", 5) != 0) {
|
||||||
|
in.clear();
|
||||||
in.seekg(0, std::ios::beg);
|
in.seekg(0, std::ios::beg);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
in.getline(buf, 79);
|
in.getline(buf, 79);
|
||||||
if (! std::strstr(buf, "<ledger")) {
|
if (! std::strstr(buf, "<ledger")) {
|
||||||
|
in.clear();
|
||||||
in.seekg(0, std::ios::beg);
|
in.seekg(0, std::ios::beg);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
in.clear();
|
||||||
in.seekg(0, std::ios::beg);
|
in.seekg(0, std::ios::beg);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue