[PATCH spice-server] utils: Check we list all channel names

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This prevent future problems supporting new channels.

Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx>
---
 server/utils.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

Christophe, is this addressing the problem you were thinking?

diff --git a/server/utils.c b/server/utils.c
index ff1fc2d1..746132e5 100644
--- a/server/utils.c
+++ b/server/utils.c
@@ -20,6 +20,8 @@
 
 #include <glib.h>
 #include <spice/enums.h>
+#include <common/macros.h>
+
 #include "utils.h"
 
 int rgb32_data_has_alpha(int width, int height, size_t stride,
@@ -65,6 +67,14 @@ static const char *const channel_names[] = {
     [ SPICE_CHANNEL_WEBDAV   ] = "webdav",
 };
 
+/* Make sure the last channel in the protocol has a name.
+ * We don't want to do this check in all cases as this would make code
+ * fail to compile if there are additional channels in the protocol so
+ * do this check only if ENABLE_EXTRA_CHECKS is enabled */
+#if ENABLE_EXTRA_CHECKS
+verify(G_N_ELEMENTS(channel_names) == SPICE_END_CHANNEL);
+#endif
+
 /**
  * red_channel_type_to_str:
  *
-- 
2.13.6

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]