Fixed assert in flatc converting to text.

Change-Id: Idac375b22aa9beaba162084cc3396f5536a4e721
Tested: on Linux.
parent 40b03519
...@@ -582,6 +582,11 @@ class FlatBufferBuilder FLATBUFFERS_FINAL_CLASS { ...@@ -582,6 +582,11 @@ class FlatBufferBuilder FLATBUFFERS_FINAL_CLASS {
buf_.fill(PaddingBytes(buf_.size(), elem_size)); buf_.fill(PaddingBytes(buf_.size(), elem_size));
} }
void PushFlatBuffer(const uint8_t *bytes, size_t size) {
PushBytes(bytes, size);
finished = true;
}
void PushBytes(const uint8_t *bytes, size_t size) { void PushBytes(const uint8_t *bytes, size_t size) {
buf_.push(bytes, size); buf_.push(bytes, size);
} }
......
...@@ -98,7 +98,7 @@ static void Error(const std::string &err, bool usage, bool show_exe_name) { ...@@ -98,7 +98,7 @@ static void Error(const std::string &err, bool usage, bool show_exe_name) {
" also implies --no-prefix.\n" " also implies --no-prefix.\n"
" --gen-includes (deprecated), this is the default behavior.\n" " --gen-includes (deprecated), this is the default behavior.\n"
" If the original behavior is required (no include\n" " If the original behavior is required (no include\n"
" statements) use --no-includes.\n" " statements) use --no-includes.\n"
" --no-includes Don\'t generate include statements for included\n" " --no-includes Don\'t generate include statements for included\n"
" schemas the generated file depends on (C++).\n" " schemas the generated file depends on (C++).\n"
" --gen-mutable Generate accessors that can mutate buffers in-place.\n" " --gen-mutable Generate accessors that can mutate buffers in-place.\n"
...@@ -201,13 +201,13 @@ int main(int argc, const char *argv[]) { ...@@ -201,13 +201,13 @@ int main(int argc, const char *argv[]) {
++file_it) { ++file_it) {
std::string contents; std::string contents;
if (!flatbuffers::LoadFile(file_it->c_str(), true, &contents)) if (!flatbuffers::LoadFile(file_it->c_str(), true, &contents))
Error("unable to load file" + *file_it); Error("unable to load file: " + *file_it);
bool is_binary = static_cast<size_t>(file_it - filenames.begin()) >= bool is_binary = static_cast<size_t>(file_it - filenames.begin()) >=
binary_files_from; binary_files_from;
if (is_binary) { if (is_binary) {
parser.builder_.Clear(); parser.builder_.Clear();
parser.builder_.PushBytes( parser.builder_.PushFlatBuffer(
reinterpret_cast<const uint8_t *>(contents.c_str()), reinterpret_cast<const uint8_t *>(contents.c_str()),
contents.length()); contents.length());
if (!raw_binary) { if (!raw_binary) {
......
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