Still don't get it.
It would make sense if the structure was allocated as a contiguous memory
block, like
typedef struct {
FLAC__uint32 length;
FLAC__byte entry[length + \0 + padding];
} FLAC__StreamMetadata_VorbisComment_Entry;
But as far as I can see, this is not the case. The entry member is a pointer
to an UTF8 string.