mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
Remove wpi::ArrayRef std::initializer_list constructor (#1745)
This can be dangerous as it refers to a temporary, and GCC 9.0 warns about its use. Instead add std::initializer_list overloads to common places it was used in an initializer_list sense.
This commit is contained in:
@@ -39,14 +39,16 @@ static bool NewlineBuffer(std::string& rem, uv::Buffer& buf, size_t len,
|
||||
// Header is 2 byte len, 1 byte type, 4 byte timestamp, 2 byte sequence num
|
||||
uint32_t ts = wpi::FloatToBits((wpi::Now() - startTime) * 1.0e-6);
|
||||
uint16_t len = rem.size() + toCopy.size() + 1 + 4 + 2;
|
||||
out << wpi::ArrayRef<uint8_t>({static_cast<uint8_t>((len >> 8) & 0xff),
|
||||
static_cast<uint8_t>(len & 0xff), 12,
|
||||
static_cast<uint8_t>((ts >> 24) & 0xff),
|
||||
static_cast<uint8_t>((ts >> 16) & 0xff),
|
||||
static_cast<uint8_t>((ts >> 8) & 0xff),
|
||||
static_cast<uint8_t>(ts & 0xff),
|
||||
static_cast<uint8_t>((tcpSeq >> 8) & 0xff),
|
||||
static_cast<uint8_t>(tcpSeq & 0xff)});
|
||||
const uint8_t header[] = {static_cast<uint8_t>((len >> 8) & 0xff),
|
||||
static_cast<uint8_t>(len & 0xff),
|
||||
12,
|
||||
static_cast<uint8_t>((ts >> 24) & 0xff),
|
||||
static_cast<uint8_t>((ts >> 16) & 0xff),
|
||||
static_cast<uint8_t>((ts >> 8) & 0xff),
|
||||
static_cast<uint8_t>(ts & 0xff),
|
||||
static_cast<uint8_t>((tcpSeq >> 8) & 0xff),
|
||||
static_cast<uint8_t>(tcpSeq & 0xff)};
|
||||
out << wpi::ArrayRef<uint8_t>(header);
|
||||
}
|
||||
out << rem << toCopy;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user