mirror of
https://github.com/protobuf-c/protobuf-c.git
synced 2024-12-27 13:31:02 +08:00
GenerateStructDefinition(): Reset vars["opt_comma"] when processing multiple oneofs
This commit fixes #251, which causes incorrect code to be generated when there are multiple oneofs in the same message. In #221, we added code to force int-sizing for oneof enums, but we only set vars["opt_comma"] initially, before entering the loop over the message's oneofs. This caused commas to be omitted when generating the enums for subsequent oneofs after the first oneof. This commit resets vars["opt_comma"] every time through the loop that generates the enum declarations for the message's oneofs.
This commit is contained in:
parent
956ea86712
commit
638c54d4db
@ -148,9 +148,10 @@ GenerateStructDefinition(io::Printer* printer) {
|
||||
}
|
||||
|
||||
// Generate the case enums for unions
|
||||
vars["opt_comma"] = ",";
|
||||
for (int i = 0; i < descriptor_->oneof_decl_count(); i++) {
|
||||
const OneofDescriptor *oneof = descriptor_->oneof_decl(i);
|
||||
vars["opt_comma"] = ",";
|
||||
|
||||
vars["oneofname"] = FullNameToUpper(oneof->name());
|
||||
vars["foneofname"] = FullNameToC(oneof->full_name());
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user