mirror of https://github.com/gnss-sdr/gnss-sdr
Fix compiler warning, avoid using std::strncat
This commit is contained in:
parent
f739eb698c
commit
7cfdcd3ae1
|
@ -587,16 +587,24 @@ private:
|
||||||
|
|
||||||
inline bool decode_header()
|
inline bool decode_header()
|
||||||
{
|
{
|
||||||
char header[header_length + 1] = "";
|
std::string header(data_.data(), header_length);
|
||||||
std::strncat(header, data_.data(), header_length);
|
|
||||||
if (header[0] != 'G' || header[1] != 'S')
|
if (header[0] != 'G' || header[1] != 'S')
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
char header2_[header_length - 1] = "";
|
auto header2 = header.substr(2);
|
||||||
std::strncat(header2_, data_.data() + 2, header_length - 2);
|
try
|
||||||
body_length_ = std::atoi(header2_);
|
{
|
||||||
|
body_length_ = std::stoi(header2);
|
||||||
|
}
|
||||||
|
catch (const std::exception& e)
|
||||||
|
{
|
||||||
|
// invalid stoi conversion
|
||||||
|
body_length_ = 0;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (body_length_ == 0)
|
if (body_length_ == 0)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
@ -612,11 +620,11 @@ private:
|
||||||
|
|
||||||
inline void encode_header()
|
inline void encode_header()
|
||||||
{
|
{
|
||||||
char header[header_length + 1] = "";
|
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
ss << "GS" << std::setw(4) << std::max(std::min(static_cast<int>(body_length_), static_cast<int>(max_body_length)), 0);
|
ss << "GS" << std::setw(4) << std::max(std::min(static_cast<int>(body_length_), static_cast<int>(max_body_length)), 0);
|
||||||
std::copy_n(ss.str().c_str(), header_length + 1, header);
|
std::string header = ss.str();
|
||||||
std::copy_n(header, header_length, data_.data());
|
header.resize(header_length, ' ');
|
||||||
|
std::copy(header.begin(), header.end(), data_.begin());
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Reference in New Issue