From 72d2b14e6ab796146fcca57a83498d4af5f94eb3 Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Thu, 31 Jul 2025 14:22:52 +0300 Subject: [PATCH] frontend: use weston_enum_map for colorimetry modes Use helpers instead of open-coding. Signed-off-by: Pekka Paalanen --- frontend/main.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/frontend/main.c b/frontend/main.c index 8c5ec0a71..572b47936 100644 --- a/frontend/main.c +++ b/frontend/main.c @@ -1521,10 +1521,7 @@ wet_output_set_colorimetry_mode(struct weston_output *output, struct weston_config_section *section, bool have_color_manager) { - static const struct { - const char *name; - enum weston_colorimetry_mode cmode; - } modes[] = { + static const struct weston_enum_map modes[] = { { "default", WESTON_COLORIMETRY_MODE_DEFAULT }, { "bt2020cycc", WESTON_COLORIMETRY_MODE_BT2020_CYCC }, { "bt2020ycc", WESTON_COLORIMETRY_MODE_BT2020_YCC }, @@ -1534,6 +1531,7 @@ wet_output_set_colorimetry_mode(struct weston_output *output, { "ictcp", WESTON_COLORIMETRY_MODE_ICTCP }, }; enum weston_colorimetry_mode cmode = WESTON_COLORIMETRY_MODE_DEFAULT; + const struct weston_enum_map *entry; char *str = NULL; unsigned i; @@ -1545,11 +1543,8 @@ wet_output_set_colorimetry_mode(struct weston_output *output, return 0; } - for (i = 0; i < ARRAY_LENGTH(modes); i++) - if (strcmp(str, modes[i].name) == 0) - break; - - if (i == ARRAY_LENGTH(modes)) { + entry = weston_enum_map_find_name(modes, str); + if (!entry) { weston_log("Error in config for output '%s': '%s' is not a valid colorimetry mode. Try one of:", output->name, str); for (i = 0; i < ARRAY_LENGTH(modes); i++) @@ -1558,7 +1553,7 @@ wet_output_set_colorimetry_mode(struct weston_output *output, free(str); return -1; } - cmode = modes[i].cmode; + cmode = entry->value; if ((weston_output_get_supported_colorimetry_modes(output) & cmode) == 0) { weston_log("Error: output '%s' does not support colorimetry mode %s.\n",