aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/extension_set.cc
diff options
context:
space:
mode:
authorGravatar kenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d>2009-12-22 18:04:23 +0000
committerGravatar kenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d>2009-12-22 18:04:23 +0000
commitf9c5978f5dc2ee88067931c55e13049d17f5331c (patch)
tree2ac332e88b653f6e7e196b7a6d96f66f9b6496be /src/google/protobuf/extension_set.cc
parentc0ee4d2ed9c4f88187ea6a6d198198ce064b1cd7 (diff)
Hopefully fix build on Sun Studio.
Diffstat (limited to 'src/google/protobuf/extension_set.cc')
-rw-r--r--src/google/protobuf/extension_set.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/google/protobuf/extension_set.cc b/src/google/protobuf/extension_set.cc
index dfecf9ea..6084885b 100644
--- a/src/google/protobuf/extension_set.cc
+++ b/src/google/protobuf/extension_set.cc
@@ -138,9 +138,9 @@ void ExtensionSet::RegisterEnumExtension(const MessageLite* containing_type,
EnumValidityFunc* is_valid) {
GOOGLE_CHECK_EQ(type, WireFormatLite::TYPE_ENUM);
ExtensionInfo info(type, is_repeated, is_packed);
- info.enum_is_valid = CallNoArgValidityFunc;
+ info.enum_validity_check.func = CallNoArgValidityFunc;
// See comment in CallNoArgValidityFunc() about why we use a c-style cast.
- info.enum_is_valid_arg = (void*)is_valid;
+ info.enum_validity_check.arg = (void*)is_valid;
Register(containing_type, number, info);
}
@@ -761,7 +761,8 @@ bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,
int value;
if (!WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(
input, &value)) return false;
- if (extension.enum_is_valid(extension.enum_is_valid_arg, value)) {
+ if (extension.enum_validity_check.func(
+ extension.enum_validity_check.arg, value)) {
AddEnum(number, WireFormatLite::TYPE_ENUM, true, value,
extension.descriptor);
}
@@ -814,7 +815,8 @@ bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,
if (!WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(
input, &value)) return false;
- if (!extension.enum_is_valid(extension.enum_is_valid_arg, value)) {
+ if (!extension.enum_validity_check.func(
+ extension.enum_validity_check.arg, value)) {
// Invalid value. Treat as unknown.
field_skipper->SkipUnknownEnum(number, value);
} else if (extension.is_repeated) {