> > According to C standard the size of a structure without fields is > not defined (see > https://stackoverflow.com/questions/21851930/size-of-empty-structure-in-c-and-c). > As use almost use GCC we used these structures having 0-size. This is As we almost only use GCC ... > usually not a problem however can became a problem if 2 side talking side -> sides > a given protocol uses these structures. uses -> use > To avoid such possible mismatch (for instance having one side C and the > other C++ which define these structure as having 1 as size) add an define -> defines, structure -> structures > empty (0-size array) field. > Although a 0-size array is not considered also that portable we use > extensively this feature with different compiler never encountering compiler -> compilers > issues. > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> I should have checked before sending. > --- > spice/vd_agent.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/spice/vd_agent.h b/spice/vd_agent.h > index 7109ede..dda7044 100644 > --- a/spice/vd_agent.h > +++ b/spice/vd_agent.h > @@ -234,6 +234,7 @@ typedef struct SPICE_ATTR_PACKED VDAgentClipboardRelease > { > uint8_t selection; > uint8_t __reserved[sizeof(uint32_t) - 1 * sizeof(uint8_t)]; > #endif > + uint8_t dummy_empty_field[0]; /* C/C++ compatibility */ > } VDAgentClipboardRelease; > > typedef struct SPICE_ATTR_PACKED VDAgentMaxClipboard { Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel