[Spice-devel] [PATCH server] tests: Initialize all members of SpiceBaseInterface struct

Michal Privoznik mprivozn at redhat.com
Thu Jun 22 14:58:57 UTC 2017


When compiling, -Werror=missing-field-initializers is enabled.
However, gcc fails to see that all the members of the
SpiceBaseInterface struct are initialized:

test-display-base.c:844:5: error: missing initializer for field
'description' of 'SpiceBaseInterface'
[-Werror=missing-field-initializers] .base.description   = "test
spice virtual channel char device",

The solution is to initialize .base member as a structure at once
instead of multiple times per each member.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 server/tests/test-display-base.c | 10 ++++++----
 server/tests/test-leaks.c        | 10 ++++++----
 server/tests/test-playback.c     | 10 ++++++----
 server/tests/test-vdagent.c      | 10 ++++++----
 4 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/server/tests/test-display-base.c b/server/tests/test-display-base.c
index 636c505c..88638bde 100644
--- a/server/tests/test-display-base.c
+++ b/server/tests/test-display-base.c
@@ -840,10 +840,12 @@ static void vmc_state(SPICE_GNUC_UNUSED SpiceCharDeviceInstance *sin,
 
 
 static SpiceCharDeviceInterface vdagent_sif = {
-    .base.type          = SPICE_INTERFACE_CHAR_DEVICE,
-    .base.description   = "test spice virtual channel char device",
-    .base.major_version = SPICE_INTERFACE_CHAR_DEVICE_MAJOR,
-    .base.minor_version = SPICE_INTERFACE_CHAR_DEVICE_MINOR,
+    .base = {
+        .type          = SPICE_INTERFACE_CHAR_DEVICE,
+        .description   = "test spice virtual channel char device",
+        .major_version = SPICE_INTERFACE_CHAR_DEVICE_MAJOR,
+        .minor_version = SPICE_INTERFACE_CHAR_DEVICE_MINOR,
+    },
     .state              = vmc_state,
     .write              = vmc_write,
     .read               = vmc_read,
diff --git a/server/tests/test-leaks.c b/server/tests/test-leaks.c
index 4985a1e3..74ab2afd 100644
--- a/server/tests/test-leaks.c
+++ b/server/tests/test-leaks.c
@@ -88,10 +88,12 @@ static void vmc_state(SPICE_GNUC_UNUSED SpiceCharDeviceInstance *sin,
 }
 
 static SpiceCharDeviceInterface vmc_interface = {
-    .base.type          = SPICE_INTERFACE_CHAR_DEVICE,
-    .base.description   = "test spice virtual channel char device",
-    .base.major_version = SPICE_INTERFACE_CHAR_DEVICE_MAJOR,
-    .base.minor_version = SPICE_INTERFACE_CHAR_DEVICE_MINOR,
+    .base = {
+        .type          = SPICE_INTERFACE_CHAR_DEVICE,
+        .description   = "test spice virtual channel char device",
+        .major_version = SPICE_INTERFACE_CHAR_DEVICE_MAJOR,
+        .minor_version = SPICE_INTERFACE_CHAR_DEVICE_MINOR,
+    },
     .state              = vmc_state,
     .write              = vmc_write,
     .read               = vmc_read,
diff --git a/server/tests/test-playback.c b/server/tests/test-playback.c
index bad11a00..9e53e322 100644
--- a/server/tests/test-playback.c
+++ b/server/tests/test-playback.c
@@ -37,10 +37,12 @@
 SpicePlaybackInstance playback_instance;
 
 static const SpicePlaybackInterface playback_sif = {
-    .base.type          = SPICE_INTERFACE_PLAYBACK,
-    .base.description   = "test playback",
-    .base.major_version = SPICE_INTERFACE_PLAYBACK_MAJOR,
-    .base.minor_version = SPICE_INTERFACE_PLAYBACK_MINOR,
+    .base = {
+        .type          = SPICE_INTERFACE_PLAYBACK,
+        .description   = "test playback",
+        .major_version = SPICE_INTERFACE_PLAYBACK_MAJOR,
+        .minor_version = SPICE_INTERFACE_PLAYBACK_MINOR,
+    }
 };
 
 uint32_t *frame;
diff --git a/server/tests/test-vdagent.c b/server/tests/test-vdagent.c
index e1d8b82c..232e9824 100644
--- a/server/tests/test-vdagent.c
+++ b/server/tests/test-vdagent.c
@@ -94,10 +94,12 @@ static void vmc_state(SPICE_GNUC_UNUSED SpiceCharDeviceInstance *sin,
 }
 
 static SpiceCharDeviceInterface vmc_interface = {
-    .base.type          = SPICE_INTERFACE_CHAR_DEVICE,
-    .base.description   = "test spice virtual channel char device",
-    .base.major_version = SPICE_INTERFACE_CHAR_DEVICE_MAJOR,
-    .base.minor_version = SPICE_INTERFACE_CHAR_DEVICE_MINOR,
+    .base = {
+        .type          = SPICE_INTERFACE_CHAR_DEVICE,
+        .description   = "test spice virtual channel char device",
+        .major_version = SPICE_INTERFACE_CHAR_DEVICE_MAJOR,
+        .minor_version = SPICE_INTERFACE_CHAR_DEVICE_MINOR,
+    },
     .state              = vmc_state,
     .write              = vmc_write,
     .read               = vmc_read,
-- 
2.13.0



More information about the Spice-devel mailing list