From 89973217774f93f8dabcf41a559a5910b7b27f64 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Sun, 4 Sep 2011 13:17:09 +0000 Subject: Remove duplicated code to search for a setting by its cfg name git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30428 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/skin_engine/skin_parser.c | 17 ++++------------- apps/settings.c | 14 ++++++++++++++ apps/settings.h | 1 + 3 files changed, 19 insertions(+), 13 deletions(-) (limited to 'apps') diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index 59c7e92d90..adac487e27 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c @@ -620,13 +620,8 @@ static int parse_setting_and_lang(struct skin_element *element, } else { - /* Find the setting */ - for (i=0; iparams[p++].data.text; int j; - /* Find the setting */ - for (j=0; jsetting_data.setting = find_setting_by_cfgname(name, &j); + if (region->setting_data.setting == NULL) return WPS_ERROR_INVALID_PARAM; - region->setting_data.setting = (void*)&settings[j]; if (region->action == ACTION_SETTINGS_SET) { char* text; diff --git a/apps/settings.c b/apps/settings.c index 623bc5b2a0..258facee38 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -1087,6 +1087,20 @@ const struct settings_list* find_setting(const void* variable, int *id) } return NULL; } +const struct settings_list* find_setting_by_cfgname(const char* name, int *id) +{ + int i; + for (i=0; i