summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReuben Thomas <rrt@sc3d.org>2021-11-08 11:23:06 +0000
committerReuben Thomas <rrt@sc3d.org>2021-11-08 11:23:06 +0000
commitb459f39b30bf66aedcce4db2a78b8df27375774c (patch)
tree4392852948861a666e0e8fe56c61297859f26954
parent3421ca92db5fb26d88f4e66e9129ee430cf1f4e1 (diff)
downloadenchant-b459f39b30bf66aedcce4db2a78b8df27375774c.tar.gz
lib.c: remove redundant NULL checks
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.
-rw-r--r--src/lib.c43
1 files changed, 20 insertions, 23 deletions
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);