Commit 6d1ff8a5 authored by Wouter van Oortmerssen's avatar Wouter van Oortmerssen

Merge branch 'master' of https://github.com/google/flatbuffers

parents 59dc29a1 6db667b6
...@@ -379,7 +379,7 @@ template<typename T> static inline size_t VectorLength(const Vector<T> *v) { ...@@ -379,7 +379,7 @@ template<typename T> static inline size_t VectorLength(const Vector<T> *v) {
struct String : public Vector<char> { struct String : public Vector<char> {
const char *c_str() const { return reinterpret_cast<const char *>(Data()); } const char *c_str() const { return reinterpret_cast<const char *>(Data()); }
std::string str() const { return c_str(); } std::string str() const { return std::string(c_str(), Length()); }
bool operator <(const String &o) const { bool operator <(const String &o) const {
return strcmp(c_str(), o.c_str()) < 0; return strcmp(c_str(), o.c_str()) < 0;
...@@ -445,7 +445,7 @@ class vector_downward { ...@@ -445,7 +445,7 @@ class vector_downward {
if (len > static_cast<size_t>(cur_ - buf_)) { if (len > static_cast<size_t>(cur_ - buf_)) {
auto old_size = size(); auto old_size = size();
auto largest_align = AlignOf<largest_scalar_t>(); auto largest_align = AlignOf<largest_scalar_t>();
reserved_ += std::max(len, growth_policy(reserved_)); reserved_ += (std::max)(len, growth_policy(reserved_));
// Round up to avoid undefined behavior from unaligned loads and stores. // Round up to avoid undefined behavior from unaligned loads and stores.
reserved_ = (reserved_ + (largest_align - 1)) & ~(largest_align - 1); reserved_ = (reserved_ + (largest_align - 1)) & ~(largest_align - 1);
auto new_buf = allocator_.allocate(reserved_); auto new_buf = allocator_.allocate(reserved_);
......
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