mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-03 04:21:13 +00:00
Json : Add --size-prefixed option to flatc (#4645)
to be able to convert to json size prefixed buffers.
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
cc158e7009
commit
e78825e7a0
@@ -2412,9 +2412,15 @@ CheckedError Parser::DoParse(const char *source, const char **include_paths,
|
||||
}
|
||||
uoffset_t toff;
|
||||
ECHECK(ParseTable(*root_struct_def_, nullptr, &toff));
|
||||
builder_.Finish(Offset<Table>(toff), file_identifier_.length()
|
||||
? file_identifier_.c_str()
|
||||
: nullptr);
|
||||
if (opts.size_prefixed) {
|
||||
builder_.FinishSizePrefixed(Offset<Table>(toff), file_identifier_.length()
|
||||
? file_identifier_.c_str()
|
||||
: nullptr);
|
||||
} else {
|
||||
builder_.Finish(Offset<Table>(toff), file_identifier_.length()
|
||||
? file_identifier_.c_str()
|
||||
: nullptr);
|
||||
}
|
||||
} else if (IsIdent("enum")) {
|
||||
ECHECK(ParseEnum(false, nullptr));
|
||||
} else if (IsIdent("union")) {
|
||||
@@ -2521,7 +2527,11 @@ void Parser::Serialize() {
|
||||
builder_.CreateString(file_identifier_),
|
||||
builder_.CreateString(file_extension_),
|
||||
root_struct_def_ ? root_struct_def_->serialized_location : 0);
|
||||
builder_.Finish(schema_offset, reflection::SchemaIdentifier());
|
||||
if (opts.size_prefixed) {
|
||||
builder_.FinishSizePrefixed(schema_offset, reflection::SchemaIdentifier());
|
||||
} else {
|
||||
builder_.Finish(schema_offset, reflection::SchemaIdentifier());
|
||||
}
|
||||
}
|
||||
|
||||
Offset<reflection::Object> StructDef::Serialize(FlatBufferBuilder *builder,
|
||||
|
||||
Reference in New Issue
Block a user