Hi,
haven't run the example yet, just a quick look (however, it is a bit
more than a stripped example of the problem ;) )

You have some constants strayed in such as
          size_t len = msg.GetCachedSize() + 6;
why that ?

-h

On Wed, Oct 7, 2009 at 18:11, Brenden Matthews <bren...@diddyinc.com> wrote:
> Oops, had some bad math in that last sample.  This is more correct (but
> still fails).
>
> On Wed, Oct 7, 2009 at 5:33 PM, Brenden Matthews <bren...@diddyinc.com>
> wrote:
>>
>> Here you go...attached is an example that fails quite reliably (for me).
>> Compile like so:
>> mkdir build
>> cd build
>> cmake ../
>> make
>> ./test-pb
>> On Wed, Oct 7, 2009 at 4:49 PM, Kenton Varda <ken...@google.com> wrote:
>>>
>>> ByteSize() definitely returns the right value -- if it didn't, tons of
>>> stuff would be broken.  Can you provide a complete example program that
>>> demonstrates your problem?
>>> On Wed, Oct 7, 2009 at 4:01 PM, Brenden Matthews <bren...@diddyinc.com>
>>> wrote:
>>>>
>>>> The value returned by Message::ByteSize() does not match the actually
>>>> number of bytes that are consumed after writing a message to a
>>>> stream.  Example:
>>>>
>>>>    some_message m;
>>>>    /* ... populate m ... */
>>>>    size_t len = m.ByteSize();
>>>>    int pos = boost::iostreams::position_to_offset(stream.tellp()); /*
>>>> save the current position of the stream */
>>>>    m.SerializeToOstream(&stream);
>>>>
>>>>    /* and now this assert will fail */
>>>>    assert(pos + len == boost::iostreams::position_to_offset
>>>> (stream.tellp());
>>>>
>>>> Maybe I'm missing something here, but shouldn't the value returned by
>>>> ByteSize() be the same as the actual number of bytes written to the
>>>> stream?
>>>>
>>>
>>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to protobuf@googlegroups.com
To unsubscribe from this group, send email to 
protobuf+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to