Fix typed flatbuffer merge function
Change-Id: I2baeb5ab5a8fc48584466110f8d622838c2f05a0
diff --git a/aos/flatbuffer_merge.h b/aos/flatbuffer_merge.h
index afb4f69..dafba34 100644
--- a/aos/flatbuffer_merge.h
+++ b/aos/flatbuffer_merge.h
@@ -54,9 +54,12 @@
template <class T>
inline aos::FlatbufferDetachedBuffer<T> MergeFlatBuffers(const T *fb1,
const T *fb2) {
- return aos::FlatbufferDetachedBuffer<T>(MergeFlatBuffers(
- T::MiniReflectTypeTable(), reinterpret_cast<const uint8_t *>(fb1),
- reinterpret_cast<const uint8_t *>(fb2)));
+ flatbuffers::FlatBufferBuilder fbb;
+ fbb.ForceDefaults(1);
+ fbb.Finish(MergeFlatBuffers<T>(
+ reinterpret_cast<const flatbuffers::Table *>(fb1),
+ reinterpret_cast<const flatbuffers::Table *>(fb2), &fbb));
+ return aos::FlatbufferDetachedBuffer<T>(fbb.Release());
}
template <class T>