Lines Matching refs:keywords
252 ARRAY(const char *) keywords;
256 p_array_init(&keywords, cmd->pool, 16);
278 array_append(&keywords, &atom, 1);
284 if (array_count(&keywords) == 0)
287 array_append_zero(&keywords); /* NULL-terminate */
288 *keywords_r = array_idx(&keywords, 0);
296 unsigned int count = array_count(client->keywords.names);
297 const char *const *keywords;
300 if (!selecting && count == client->keywords.announce_count) {
301 /* no changes to keywords and we're not selecting a mailbox */
305 client->keywords.announce_count = count;
309 keywords = count == 0 ? NULL :
310 array_idx(client->keywords.names, 0);
313 imap_write_flags(str, status.flags, keywords);
318 keywords = NULL;
322 imap_write_flags(str, status.permanent_flags, keywords);
324 if (status.permanent_flags != 0 || keywords != NULL)
338 const ARRAY_TYPE(keywords) *keywords)
340 client->keywords.names = keywords;
341 client->keywords.announce_count = 0;
345 client_get_keyword_names(struct client *client, ARRAY_TYPE(keywords) *dest,
355 all_names = array_get(client->keywords.names, &all_count);