Fix generator error when long_names:false is combined with Oneofs.
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>
Thu, 26 Feb 2015 15:33:36 +0000 (17:33 +0200)
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>
Thu, 26 Feb 2015 15:33:36 +0000 (17:33 +0200)
Update issue 147
Status: FixedInGit

generator/nanopb_generator.py
tests/options/options.proto

index 4c01502..7ee0652 100755 (executable)
@@ -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':
index a8e557b..cdcffeb 100644 (file)
@@ -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;
+    }
+}
+