mail-search-args-imap.c revision 92f5ea24e989266539e97c6fe59ede0565aec6fd
/* Copyright (c) 2015-2017 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "ioloop.h"
#include "array.h"
#include "str.h"
#include "utc-offset.h"
#include "mail-index.h"
#include "imap-date.h"
#include "imap-util.h"
#include "imap-quote.h"
#include "mail-search.h"
#include "mail-search-mime.h"
#include <time.h>
static bool
{
const struct mail_search_arg *arg;
return FALSE;
}
return TRUE;
}
static bool
{
const char *str;
MAIL_SEARCH_ARG_FLAG_UTC_TIMES) == 0) {
}
return FALSE;
return TRUE;
}
static void
{
static const char *flag_names[] = {
"ANSWERED", "FLAGGED", "DELETED", "SEEN", "DRAFT", "RECENT"
};
for (unsigned int i = 0; i < N_ELEMENTS(flag_names); i++) {
if ((flags & (1 << i)) != 0) {
count++;
}
}
if (count == 1)
else
}
const char **error_r)
{
unsigned int start_pos;
case SEARCH_OR:
"OR ", error_r))
return FALSE;
break;
case SEARCH_SUB:
"", error_r))
return FALSE;
break;
case SEARCH_ALL:
break;
case SEARCH_SEQSET:
break;
case SEARCH_UIDSET:
break;
case SEARCH_FLAGS:
break;
case SEARCH_KEYWORDS: {
const char *const *namep;
unsigned int i, count = 0;
/* uninitialized */
break;
}
if (i > 0)
count++;
}
if (count == 1)
else
break;
}
case SEARCH_BEFORE:
break;
break;
break;
}
;
"SEARCH_BEFORE can't be written as IMAP for timestamp %ld (type=%d, utc_times=%d)",
return FALSE;
} else {
}
break;
case SEARCH_ON:
break;
break;
break;
}
"SEARCH_ON can't be written as IMAP for timestamp %ld (type=%d, utc_times=%d)",
return FALSE;
}
break;
case SEARCH_SINCE:
break;
break;
break;
}
;
"SEARCH_SINCE can't be written as IMAP for timestamp %ld (type=%d, utc_times=%d)",
return FALSE;
} else {
}
break;
case SEARCH_SMALLER:
break;
case SEARCH_LARGER:
break;
case SEARCH_HEADER:
case SEARCH_HEADER_ADDRESS:
else {
}
break;
case SEARCH_BODY:
break;
case SEARCH_TEXT:
break;
/* extensions */
case SEARCH_MODSEQ: {
bool extended_output = FALSE;
}
if (extended_output) {
break;
break;
break;
}
}
break;
}
case SEARCH_INTHREAD:
"", error_r))
return FALSE;
break;
case SEARCH_GUID:
break;
case SEARCH_MAILBOX:
*error_r = "SEARCH_MAILBOX can't be written as IMAP";
return FALSE;
case SEARCH_MAILBOX_GUID:
*error_r = "SEARCH_MAILBOX_GUID can't be written as IMAP";
return FALSE;
case SEARCH_MAILBOX_GLOB:
break;
case SEARCH_REAL_UID:
break;
case SEARCH_MIMEPART:
return FALSE;
break;
}
return TRUE;
}
const char **error_r)
{
const struct mail_search_arg *arg;
return FALSE;
}
return TRUE;
}