It's working now, thanks for your help !
On Oct 15, 10:30 pm, Jeremy Leader <[email protected]> wrote:
> It might help in debugging this to notice that 9999 == 0x270F, and 30064781071
> == 0x70000270F. I suspect the corruption is happening to the data in the
> object, and not to the data in serialized form, because while those numbers
> only
> differ in a single bit, their varint encodings differ in many places.
>
> --
> Jeremy Leader
> [email protected]
>
> The_Glu wrote:
> > Hello,
>
> > I use the following prototype :
>
> > message Find {
> > required uint64 tag = 1;
> > required Common.Hash peerID = 2;
> > required string pattern = 3;
> > }
>
> > Now:
>
> > Protos::Core::Find findProto;
> > findProto.set_tag(9999);
>
> > (findProto.tag() == 9999) is true.
>
> > findProto.DebugString() return
>
> > tag: 9999
> > peerID {
> > hash: "323655354"
> > }
> > pattern: "coucou"
> > )
>
> > Great isn't it ?
>
> > But now, if I serialize and unserialize the prototype
>
> > std::string output;
> > findProto.SerializeToString(&output);
>
> > Protos::Core::Find findMessage;
> > findMessage.ParseFromString(output);
>
> > What do I get ?
>
> > tag: 30064781071
> > peerID {
> > hash: "323655354"
> > }
> > pattern: "coucou"
> > )
>
> > Why my tag changed oO ? It's not a random value, and it's works for
> > small numbers.
>
> > I tried to change the type of tag to uint32, int32, etc. always the
> > same problem.
>
> > Thanks for your help,
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/protobuf?hl=en
-~----------~----~----~----~------~----~------~--~---