mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 13:00:06 +00:00
Use getline utility to automatically strip double CR from WMO header
This commit is contained in:
parent
80579dbff2
commit
f25bb63ea0
1 changed files with 6 additions and 36 deletions
|
|
@ -130,55 +130,25 @@ bool WmoHeader::Parse(std::istream& is)
|
||||||
|
|
||||||
if (is.peek() == 0x01)
|
if (is.peek() == 0x01)
|
||||||
{
|
{
|
||||||
std::getline(is, sohLine);
|
util::getline(is, sohLine);
|
||||||
std::getline(is, sequenceLine);
|
util::getline(is, sequenceLine);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::getline(is, wmoLine);
|
util::getline(is, wmoLine);
|
||||||
std::getline(is, awipsLine);
|
util::getline(is, awipsLine);
|
||||||
|
|
||||||
if (is.eof())
|
if (is.eof())
|
||||||
{
|
{
|
||||||
BOOST_LOG_TRIVIAL(debug) << logPrefix_ << "Reached end of file";
|
BOOST_LOG_TRIVIAL(debug) << logPrefix_ << "Reached end of file";
|
||||||
headerValid = false;
|
headerValid = false;
|
||||||
}
|
}
|
||||||
else if (!sohLine.empty() && !sohLine.ends_with("\r\r"))
|
|
||||||
{
|
|
||||||
BOOST_LOG_TRIVIAL(debug)
|
|
||||||
<< logPrefix_ << "Start of Heading Line is malformed";
|
|
||||||
headerValid = false;
|
|
||||||
}
|
|
||||||
else if (!sequenceLine.empty() && !sequenceLine.ends_with("\r\r"))
|
|
||||||
{
|
|
||||||
BOOST_LOG_TRIVIAL(debug) << logPrefix_ << "Sequence Line is malformed";
|
|
||||||
headerValid = false;
|
|
||||||
}
|
|
||||||
else if (!wmoLine.ends_with("\r\r"))
|
|
||||||
{
|
|
||||||
BOOST_LOG_TRIVIAL(debug)
|
|
||||||
<< logPrefix_ << "WMO Abbreviated Heading Line is malformed";
|
|
||||||
headerValid = false;
|
|
||||||
}
|
|
||||||
else if (!awipsLine.ends_with("\r\r"))
|
|
||||||
{
|
|
||||||
BOOST_LOG_TRIVIAL(debug)
|
|
||||||
<< logPrefix_ << "AWIPS Identifier Line is malformed";
|
|
||||||
headerValid = false;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Remove delimiters from the end of the line
|
// Remove delimiters from the end of the line
|
||||||
if (!sequenceLine.empty())
|
while (sequenceLine.ends_with(' '))
|
||||||
{
|
{
|
||||||
sequenceLine.erase(sequenceLine.length() - 2);
|
sequenceLine.erase(sequenceLine.length() - 1);
|
||||||
while (sequenceLine.ends_with(' '))
|
|
||||||
{
|
|
||||||
sequenceLine.erase(sequenceLine.length() - 1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wmoLine.erase(wmoLine.length() - 2);
|
|
||||||
awipsLine.erase(awipsLine.length() - 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Transmission Header:
|
// Transmission Header:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue