Fixed assert in flatc converting to text.

Change-Id: Idac375b22aa9beaba162084cc3396f5536a4e721
Tested: on Linux.
This commit is contained in:
Wouter van Oortmerssen 2015-10-28 17:40:33 -07:00
parent 40b03519c1
commit 2107a7d514
2 changed files with 8 additions and 3 deletions

View File

@ -582,6 +582,11 @@ class FlatBufferBuilder FLATBUFFERS_FINAL_CLASS {
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) {
buf_.push(bytes, size);
}

View File

@ -98,7 +98,7 @@ static void Error(const std::string &err, bool usage, bool show_exe_name) {
" also implies --no-prefix.\n"
" --gen-includes (deprecated), this is the default behavior.\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"
" schemas the generated file depends on (C++).\n"
" --gen-mutable Generate accessors that can mutate buffers in-place.\n"
@ -201,13 +201,13 @@ int main(int argc, const char *argv[]) {
++file_it) {
std::string 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()) >=
binary_files_from;
if (is_binary) {
parser.builder_.Clear();
parser.builder_.PushBytes(
parser.builder_.PushFlatBuffer(
reinterpret_cast<const uint8_t *>(contents.c_str()),
contents.length());
if (!raw_binary) {