From b459f39b30bf66aedcce4db2a78b8df27375774c Mon Sep 17 00:00:00 2001 From: Reuben Thomas Date: Mon, 8 Nov 2021 11:23:06 +0000 Subject: lib.c: remove redundant NULL checks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A provider cannot be loaded unless it has a ‘list_dicts’ member, which is checked by enchant_provider_is_valid(). Hence, no need to check that ‘list_dicts’ is non-NULL before calling it. --- src/lib.c | 43 ++++++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 23 deletions(-) (limited to 'src') diff --git a/src/lib.c b/src/lib.c index ee98dbd..496d1f6 100644 --- a/src/lib.c +++ b/src/lib.c @@ -1177,31 +1177,28 @@ enchant_broker_list_dicts (EnchantBroker * broker, EnchantDictDescribeFn fn, voi { EnchantProvider *provider = (EnchantProvider *) list->data; - if (provider->list_dicts) - { - size_t n_dicts; - char ** dicts = (*provider->list_dicts) (provider, &n_dicts); + size_t n_dicts; + char ** dicts = (*provider->list_dicts) (provider, &n_dicts); - for (size_t i = 0; i < n_dicts; i++) - { - const char * tag = dicts[i]; - if (enchant_is_valid_dictionary_tag (tag)) { - GSList *providers = enchant_get_ordered_providers (broker, tag); - gint this_priority = g_slist_index (providers, provider); - if (this_priority != -1) { - gint min_priority = this_priority + 1; - gpointer ptr = g_hash_table_lookup (tag_map, tag); - if (ptr != NULL) - min_priority = g_slist_index (providers, ptr); - if (this_priority < min_priority) - g_hash_table_insert (tag_map, strdup (tag), provider); - } - g_slist_free (providers); - } + for (size_t i = 0; i < n_dicts; i++) + { + const char * tag = dicts[i]; + if (enchant_is_valid_dictionary_tag (tag)) { + GSList *providers = enchant_get_ordered_providers (broker, tag); + gint this_priority = g_slist_index (providers, provider); + if (this_priority != -1) { + gint min_priority = this_priority + 1; + gpointer ptr = g_hash_table_lookup (tag_map, tag); + if (ptr != NULL) + min_priority = g_slist_index (providers, ptr); + if (this_priority < min_priority) + g_hash_table_insert (tag_map, strdup (tag), provider); } - - enchant_free_string_list (dicts); + g_slist_free (providers); + } } + + enchant_free_string_list (dicts); } GSList *tags = NULL; @@ -1256,7 +1253,7 @@ enchant_provider_dictionary_exists (EnchantProvider * provider, const char * con { exists = (*provider->dictionary_exists) (provider, tag); } - else if (provider->list_dicts) + else { size_t n_dicts; char ** dicts = (*provider->list_dicts) (provider, &n_dicts); -- cgit v1.2.1