Commit 1957d694 authored by salix5's avatar salix5 Committed by GitHub

Update buffer_write and vector_write (#809)

parent 2d2e322d
...@@ -22,7 +22,7 @@ inline void buffer_write_block(unsigned char*& p, const void* src, size_t size) ...@@ -22,7 +22,7 @@ inline void buffer_write_block(unsigned char*& p, const void* src, size_t size)
p += size; p += size;
} }
template<typename T> template<typename T>
inline void buffer_write(unsigned char*& p, T value) { inline void buffer_write(unsigned char*& p, const T& value) {
std::memcpy(p, &value, sizeof(T)); std::memcpy(p, &value, sizeof(T));
p += sizeof(T); p += sizeof(T);
} }
...@@ -30,10 +30,10 @@ inline void buffer_write(unsigned char*& p, T value) { ...@@ -30,10 +30,10 @@ inline void buffer_write(unsigned char*& p, T value) {
inline void vector_write_block(std::vector<unsigned char>& buffer, const void* src, size_t size) { inline void vector_write_block(std::vector<unsigned char>& buffer, const void* src, size_t size) {
const auto len = buffer.size(); const auto len = buffer.size();
buffer.resize(len + size); buffer.resize(len + size);
std::memcpy(&buffer[len], src, size); std::memcpy(buffer.data() + len, src, size);
} }
template<typename T> template<typename T>
inline void vector_write(std::vector<unsigned char>& buffer, T value) { inline void vector_write(std::vector<unsigned char>& buffer, const T& value) {
vector_write_block(buffer, &value, sizeof(T)); vector_write_block(buffer, &value, sizeof(T));
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment