diff options
author | Brian Duff <bduff@google.com> | 2014-10-03 14:41:43 -0700 |
---|---|---|
committer | Brian Duff <bduff@google.com> | 2014-10-03 14:51:29 -0700 |
commit | b7cf53ba3b46eb17180465d3d3bb151fa4d93f3d (patch) | |
tree | 9c7db61788771a6f6cd59a91994e5e9d2dc69827 /missing | |
parent | 9be7e7401174d75e87e21fdc5f43549594a714bb (diff) | |
download | external_protobuf-b7cf53ba3b46eb17180465d3d3bb151fa4d93f3d.zip external_protobuf-b7cf53ba3b46eb17180465d3d3bb151fa4d93f3d.tar.gz external_protobuf-b7cf53ba3b46eb17180465d3d3bb151fa4d93f3d.tar.bz2 |
Fix bug with large extension field numbers.
Previously, extensions with field numbers greater than 268435455 would
result in a compile time error in generated code that looks something
like this:
Foo.java:3178: error: integer number too large: 3346754610
3346754610);
This is because we were trying to represent the tag number (an
unsigned int) using a java int constant, but java int constants are
signed, and can't exceed Integer.MAX_VALUE.
Fixed by declaring it as a long instead, and casting it down to an
int in the implementation. This is safe, because the tag value always
fits in 32 bis.
Change-Id: If2017bacb4e20af667eaeaf9b65ddc2c30a7709f
Diffstat (limited to 'missing')
0 files changed, 0 insertions, 0 deletions