matroskadec: Add sizes to forward declarations
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Wed, 17 Jul 2019 03:29:40 +0000 (05:29 +0200)
committerHendrik Leppkes <h.leppkes@gmail.com>
Thu, 18 Jul 2019 07:38:10 +0000 (09:38 +0200)
commitab4795a085cd3deacb5e4bbaf527d66171361024
tree2b8fd729b273da1c0592ff73bb0702cacca4f999
parent2d900d8fe0aaf9c984e024956eb537ecdfe2c949
matroskadec: Add sizes to forward declarations

Unknown-length elements end when an element not allowed in them, but
allowed at a higher level is encountered. In order to check for this,
c1abd95a added a pointer to every syntax level's parent to each
EbmlSyntax. Given that the parent must of course also reference the
child in order to be able to enter said child level, one needs to use
forward declarations.
These forward declarations constitute tentative definitions and tentative
definitions with internal linkage (like our syntaxes) must not be an
incomplete type. Yet they were an incomplete type and while GCC and
Clang did not even warn about this (on default warning levels), it
broke compilation with MSVC. Therefore this commit adds the sizes.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavformat/matroskadec.c