/* Copyright (c) 2009-2018 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "mail-thread.h"
struct {
const char *name;
enum mail_thread_type type;
} mail_thread_type_strings[] = {
{ "REFERENCES", MAIL_THREAD_REFERENCES },
{ "REFS", MAIL_THREAD_REFS },
{ "ORDEREDSUBJECT", MAIL_THREAD_ORDEREDSUBJECT }
};
bool mail_thread_type_parse(const char *str, enum mail_thread_type *type_r)
{
unsigned int i;
for (i = 0; i < N_ELEMENTS(mail_thread_type_strings); i++) {
if (strcasecmp(str, mail_thread_type_strings[i].name) == 0) {
*type_r = mail_thread_type_strings[i].type;
return TRUE;
}
}
return FALSE;
}
const char *mail_thread_type_to_str(enum mail_thread_type type)
{
unsigned int i;
for (i = 0; i < N_ELEMENTS(mail_thread_type_strings); i++) {
if (mail_thread_type_strings[i].type == type)
return mail_thread_type_strings[i].name;
}
i_panic("Unknown mail_thread_type %d", type);
}