From fb3e061a8e05da5ab4acb4e3e676812cf7d4f1a0 Mon Sep 17 00:00:00 2001 From: Frediano Ziglio Date: Wed, 8 Nov 2017 16:31:49 +0000 Subject: [PATCH] utils: Check we list all channel names This prevent future problems supporting new channels. Signed-off-by: Frediano Ziglio Acked-by: Victor Toso --- server/utils.c | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 #include +#include + #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: *