summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>2015-02-26 17:33:36 +0200
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>2015-02-26 17:33:36 +0200
commit4a6580726ec2a0b71d8f01133d5c38a469eac497 (patch)
treee2c8f2e32f000b7d4a4c25d4517ad311da04633f
parent651e97456b24524a73070c6ea1c9c2696c02bd53 (diff)
Fix generator error when long_names:false is combined with Oneofs.
Update issue 147 Status: FixedInGit
-rwxr-xr-xgenerator/nanopb_generator.py3
-rw-r--r--tests/options/options.proto9
2 files changed, 12 insertions, 0 deletions
diff --git a/generator/nanopb_generator.py b/generator/nanopb_generator.py
index 4c01502c..7ee06523 100755
--- a/generator/nanopb_generator.py
+++ b/generator/nanopb_generator.py
@@ -587,6 +587,9 @@ class OneOf(Field):
self.name = oneof_desc.name
self.ctype = 'union'
self.fields = []
+ self.allocation = 'ONEOF'
+ self.default = None
+ self.rules = 'ONEOF'
def add_field(self, field):
if field.allocation == 'CALLBACK':
diff --git a/tests/options/options.proto b/tests/options/options.proto
index a8e557be..cdcffeb7 100644
--- a/tests/options/options.proto
+++ b/tests/options/options.proto
@@ -75,3 +75,12 @@ message SkippedMessage
option (nanopb_msgopt).skip_message = true;
required int32 foo = 1;
}
+
+// Message with oneof field
+message OneofMessage
+{
+ oneof foo {
+ int32 bar = 1;
+ }
+}
+