Json : Add --size-prefixed option to flatc (#4645)

to be able to convert to json size prefixed buffers.
This commit is contained in:
desqaz
2018-03-09 17:21:28 +01:00
committed by Wouter van Oortmerssen
parent cc158e7009
commit e78825e7a0
5 changed files with 28 additions and 11 deletions

View File

@@ -100,6 +100,7 @@ std::string FlatCompiler::GetUsageString(const char *program_name) const {
" (default is \"github.com/google/flatbuffers/go\")\n"
" --raw-binary Allow binaries without file_indentifier to be read.\n"
" This may crash flatc given a mismatched schema.\n"
" --size-prefixed Input binaries are size prefixed buffers.\n"
" --proto Input is a .proto, translate to .fbs.\n"
" --oneof-union Translate .proto oneofs to flatbuffer unions.\n"
" --grpc Generate GRPC interfaces for the specified languages\n"
@@ -233,6 +234,8 @@ int FlatCompiler::Compile(int argc, const char **argv) {
opts.one_file = true;
} else if (arg == "--raw-binary") {
raw_binary = true;
} else if (arg == "--size-prefixed") {
opts.size_prefixed = true;
} else if (arg == "--") { // Separator between text and binary inputs.
binary_files_from = filenames.size();
} else if (arg == "--proto") {
@@ -325,7 +328,7 @@ int FlatCompiler::Compile(int argc, const char **argv) {
"\" matches the schema, use --raw-binary to read this file"
" anyway.");
} else if (!flatbuffers::BufferHasIdentifier(
contents.c_str(), parser->file_identifier_.c_str())) {
contents.c_str(), parser->file_identifier_.c_str(), opts.size_prefixed)) {
Error("binary \"" + filename +
"\" does not have expected file_identifier \"" +
parser->file_identifier_ +