while (field->tag != 0)
{
+ pb_encoder_t func = PB_ENCODERS[PB_LTYPE(field->type)];
pData = (const char*)pData + prev_size + field->data_offset;
pSize = (const char*)pData + field->size_offset;
prev_size = field->data_size;
if (PB_HTYPE(field->type) == PB_HTYPE_ARRAY)
prev_size *= field->array_size;
-
- pb_encoder_t func = PB_ENCODERS[PB_LTYPE(field->type)];
-
+
switch (PB_HTYPE(field->type))
{
case PB_HTYPE_REQUIRED:
status = pb_encode(&substream, (pb_field_t*)field->ptr, src);
stream->bytes_written += substream.bytes_written;
+ stream->state = substream.state;
if (substream.bytes_written != size)
return false;