mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice-protocol
synced 2025-12-26 05:26:01 +00:00
vd_agent: Do not define structures without fields
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 we almost only use GCC currently these structures are of size 0. This can became a problem if 2 sides talking a given protocol use these structures. To avoid such possible mismatch (for instance having one side C and the other C++ which defines these structures as having 1 as size) add an empty (0-size array) field. Although a 0-size array is not considered also that portable we use extensively this feature with different compilers never encountering issues. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Uri Lublin <uril@redhat.com>
This commit is contained in:
parent
33b52556e5
commit
ccda863268
@ -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 {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user