berezovskyi/protobuf-embedded-c

Support for bigger messages

Opened this issue · 1 comments

We are using this library, but our messages need bigger strings (~256 chars 
instead of 32).

When we changes MAX_STRING_LEN to 256, whenever a message's total size exceeds 
256, the reading will stop right after the current field is parsed.

The problem seems to be that in the Msg_read_delimited_from(...), this line:

    offset = read_raw_varint32(&size, _buffer, offset);

which then executes this:

    offset = read_raw_byte((char *)&result, _buffer, offset);
    if (result >= 0) {
        *tag = result;
        return offset;
    }

returns at most one byte.

Original issue reported on code.google.com by nasus.ma...@gmail.com on 27 May 2013 at 12:03

Sorry.  Forget that.  It actually works fine.  I had another issue in my code 
which made it look like it was a bug with this library, while it was in fact a 
bug on my part.

Original comment by nasus.ma...@gmail.com on 27 May 2013 at 6:57