Fix MC to ommit empty objects

This commit is contained in:
2017-05-01 02:27:37 -05:00
parent 746dae0ec5
commit 4e610c3167
4 changed files with 17 additions and 7 deletions
+6 -1
View File
@@ -81,9 +81,14 @@ int MetalClawWriter::op(const char*, ox::bstring<L> *val) {
template<typename T>
int MetalClawWriter::op(const char*, T *val) {
int err = 0;
bool fieldSet = false;
MetalClawWriter writer(m_buff + m_buffIt, m_buffLen - m_buffIt);
err |= ioOp(&writer, val);
m_buffIt += writer.m_buffIt;
if ((size_t) writer.m_fieldPresence.getMaxLen() < writer.m_buffIt) {
m_buffIt += writer.m_buffIt;
fieldSet = true;
}
err |= m_fieldPresence.set(m_field, fieldSet);
m_field++;
return err;
};