From 8694665f4f32c4f733afd7fcd6d6ec4c14bef68f Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Thu, 31 Jul 2025 14:17:15 +0300 Subject: [PATCH] frontend: use weston_enum_map for renderers Entrench the use of weston_enum_map more, even though in this case it doesn't buy much. Make the array 'static const' which it should have been already. Signed-off-by: Pekka Paalanen --- frontend/config-helpers.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/frontend/config-helpers.c b/frontend/config-helpers.c index 8c4a1d771..18b8c74f1 100644 --- a/frontend/config-helpers.c +++ b/frontend/config-helpers.c @@ -31,6 +31,7 @@ #include #include "shared/helpers.h" +#include "shared/string-helpers.h" #include "weston-private.h" struct { @@ -64,10 +65,7 @@ get_backend_from_string(const char *name, return false; } -struct { - char *name; - enum weston_renderer_type renderer; -} renderer_name_map[] = { +static const struct weston_enum_map renderer_name_map[] = { { "auto", WESTON_RENDERER_AUTO }, { "gl", WESTON_RENDERER_GL }, { "vulkan", WESTON_RENDERER_VULKAN }, @@ -79,16 +77,15 @@ bool get_renderer_from_string(const char *name, enum weston_renderer_type *renderer) { - size_t i; + const struct weston_enum_map *entry; if (!name) name = "auto"; - for (i = 0; i < ARRAY_LENGTH(renderer_name_map); i++) { - if (strcmp(name, renderer_name_map[i].name) == 0) { - *renderer = renderer_name_map[i].renderer; - return true; - } + entry = weston_enum_map_find_name(renderer_name_map, name); + if (entry) { + *renderer = entry->value; + return true; } return false;