Lines Matching refs:list

137 void fts_language_list_deinit(struct fts_language_list **list)
139 struct fts_language_list *lp = *list;
141 *list = NULL;
150 fts_language_list_find(struct fts_language_list *list, const char *name)
154 array_foreach(&list->languages, langp) {
161 void fts_language_list_add(struct fts_language_list *list,
164 i_assert(fts_language_list_find(list, lang->name) == NULL);
165 array_append(&list->languages, &lang, 1);
168 bool fts_language_list_add_names(struct fts_language_list *list,
182 if (fts_language_list_find(list, lang->name) == NULL)
183 fts_language_list_add(list, lang);
189 fts_language_list_get_all(struct fts_language_list *list)
191 return &list->languages;
195 fts_language_list_get_first(struct fts_language_list *list)
199 langp = array_idx(&list->languages, 0);
204 static bool fts_language_match_lists(struct fts_language_list *list,
218 if ((*lang_r = fts_language_list_find(list, name)) != NULL)
226 static int fts_language_textcat_init(struct fts_language_list *list)
231 if (list->textcat_handle != NULL)
234 if (list->textcat_failed)
237 config_path = list->textcat_config != NULL ? list->textcat_config :
239 data_dir = list->textcat_datadir != NULL ? list->textcat_datadir :
241 list->textcat_handle = special_textcat_Init(config_path, data_dir);
242 if (list->textcat_handle == NULL) {
245 list->textcat_failed = TRUE;
255 fts_language_detect_textcat(struct fts_language_list *list ATTR_UNUSED,
265 if (fts_language_textcat_init(list) < 0)
268 candp = textcat_GetClassifyFullOutput(list->textcat_handle);
271 cnt = textcat_ClassifyFull(list->textcat_handle, (const void *)text,
275 match = fts_language_match_lists(list, candp, cnt, lang_r);
277 textcat_ReleaseClassifyFullOutput(list->textcat_handle, candp);
283 textcat_ReleaseClassifyFullOutput(list->textcat_handle, candp);
300 fts_language_detect(struct fts_language_list *list,
305 i_assert(array_count(&list->languages) > 0);
308 if (array_count(&list->languages) == 1) {
310 array_idx(&list->languages, 0);
314 return fts_language_detect_textcat(list, text, size, lang_r);