33// Licensed under: MIT License <http://opensource.org/licenses/MIT>
44
55#include " TCP/connection.hpp"
6+ #include < cstdint>
67#include < sys/poll.h>
78#include < sys/socket.h>
89
@@ -25,16 +26,16 @@ std::vector<uint8_t> Connection::sendRequest(const MB::ModbusRequest &req) {
2526 std::vector<uint8_t > rawReq;
2627 rawReq.reserve (6 );
2728
28- rawReq.push_back (reinterpret_cast <const uint8_t *>(&_messageID)[1 ]);
29- rawReq.push_back (reinterpret_cast < const uint8_t *>(& _messageID)[ 0 ] );
29+ rawReq.push_back (static_cast < const uint8_t &&>( reinterpret_cast <const uint8_t *>(&_messageID)[1 ]) );
30+ rawReq.push_back (static_cast < uint8_t >( _messageID));
3031 rawReq.push_back (0x00 );
3132 rawReq.push_back (0x00 );
3233
3334 std::vector<uint8_t > dat = req.toRaw ();
3435
3536 uint32_t size = dat.size ();
36- rawReq.push_back (reinterpret_cast <uint16_t *>(&size)[1 ]);
37- rawReq.push_back (reinterpret_cast <uint16_t *>(& size)[ 0 ] );
37+ rawReq.push_back (static_cast < const uint16_t &&>( reinterpret_cast <const uint16_t *>(&size)[1 ]) );
38+ rawReq.push_back (static_cast <uint16_t >( size));
3839
3940 rawReq.insert (rawReq.end (), dat.begin (), dat.end ());
4041
@@ -47,16 +48,16 @@ std::vector<uint8_t> Connection::sendResponse(const MB::ModbusResponse &res) {
4748 std::vector<uint8_t > rawReq;
4849 rawReq.reserve (6 );
4950
50- rawReq.push_back (reinterpret_cast <const uint8_t *>(&_messageID)[1 ]);
51- rawReq.push_back (reinterpret_cast < const uint8_t *>(& _messageID)[ 0 ] );
51+ rawReq.push_back (static_cast < const uint8_t &&>( reinterpret_cast <const uint8_t *>(&_messageID)[1 ]) );
52+ rawReq.push_back (static_cast < uint8_t >( _messageID));
5253 rawReq.push_back (0x00 );
5354 rawReq.push_back (0x00 );
5455
5556 std::vector<uint8_t > dat = res.toRaw ();
5657
5758 uint32_t size = dat.size ();
58- rawReq.push_back (reinterpret_cast <uint16_t *>(&size)[1 ]);
59- rawReq.push_back (reinterpret_cast <uint16_t *>(& size)[ 0 ] );
59+ rawReq.push_back (static_cast < const uint16_t &&>( reinterpret_cast <const uint16_t *>(&size)[1 ]) );
60+ rawReq.push_back (static_cast <uint16_t >( size));
6061
6162 rawReq.insert (rawReq.end (), dat.begin (), dat.end ());
6263
@@ -69,16 +70,16 @@ std::vector<uint8_t> Connection::sendException(const MB::ModbusException &ex) {
6970 std::vector<uint8_t > rawReq;
7071 rawReq.reserve (6 );
7172
72- rawReq.push_back (reinterpret_cast <const uint8_t *>(&_messageID)[1 ]);
73- rawReq.push_back (reinterpret_cast < const uint8_t *>(& _messageID)[ 0 ] );
73+ rawReq.push_back (static_cast < const uint8_t &&>( reinterpret_cast <const uint8_t *>(&_messageID)[1 ]) );
74+ rawReq.push_back (static_cast < uint8_t >( _messageID));
7475 rawReq.push_back (0x00 );
7576 rawReq.push_back (0x00 );
7677
7778 std::vector<uint8_t > dat = ex.toRaw ();
7879
7980 uint32_t size = dat.size ();
80- rawReq.push_back (reinterpret_cast <uint16_t *>(&size)[1 ]);
81- rawReq.push_back (reinterpret_cast <uint16_t *>(& size)[ 0 ] );
81+ rawReq.push_back (static_cast < const uint16_t &&>( reinterpret_cast <const uint16_t *>(&size)[1 ]) );
82+ rawReq.push_back (static_cast <uint16_t >( size));
8283
8384 rawReq.insert (rawReq.end (), dat.begin (), dat.end ());
8485
0 commit comments