tree ab7c8c32036086692db8fe13b43b3c02220c705f
parent 4b455dafde3c84d0e94582c1e040c1a660a33244
author Petteri Aimonen <jpa@git.mail.kapsi.fi> 1599740903 +0300
committer Petteri Aimonen <jpa@git.mail.kapsi.fi> 1599741276 +0300

Fix issue with unknown message sizes being referred inside oneof encoded size calculation (#569)

Nanopb generator attempts to calculate the maximum encoded size of messages
when possible. If the message size is unbounded due to e.g. callbacks, the
define for it will be skipped. However, for oneofs we need to calculate the
maximum of all fields inside it, which is not easily done in C in compile time.

The current method uses sizeof(union { .. }) to calculate the largest value.
A recent change in 3ff6743173 (#415, #494) moved the union to a separate line.

This in turn caused compilation errors when the union was defined but one of
the symbols it depends on (from another .proto file) was not defined.

This commit fixes it by adding #if defined() guard around the definition.
