cmd-fetch.c revision 294f1a51763015cda0e2d874c5027d6fe7a2cd54
/* Copyright (C) 2002-2004 Timo Sirainen */
#include "common.h"
#include "ostream.h"
#include "commands.h"
#include "imap-fetch.h"
#include "imap-search.h"
#include "mail-search.h"
const char *all_macro[] = {
};
const char *fast_macro[] = {
};
const char *full_macro[] = {
};
static int
{
arg++;
/* handle macros first */
macro = fast_macro;
macro = full_macro;
else {
return FALSE;
}
return FALSE;
macro++;
}
}
} else {
arg++;
return FALSE;
}
"FETCH list contains non-atoms.");
return FALSE;
}
}
return FALSE;
}
return TRUE;
}
{
static const char *ok_message = "OK Fetch completed.";
if (imap_fetch_deinit(ctx) < 0)
struct mail_storage *storage;
const char *error;
int syntax;
if (!syntax) {
/* We never want to reply NO to FETCH requests,
BYE is preferrable (see imap-ml for reasons). */
if (partial) {
error = "Out of sync: "
"Trying to fetch expunged message";
}
} else {
/* user error, we'll reply with BAD */
}
return TRUE;
}
}
{
int ret;
ret = -1;
else {
/* unfinished */
return FALSE;
}
}
if (ret < 0)
return cmd_fetch_finish(ctx);
}
{
struct imap_fetch_context *ctx;
struct mail_search_arg *search_arg;
const char *messageset;
int ret;
return FALSE;
if (!client_verify_open_mailbox(cmd))
return TRUE;
if (messageset == NULL ||
return TRUE;
}
if (search_arg == NULL)
return TRUE;
return TRUE;
return TRUE;
}
/* unfinished */
return FALSE;
}
if (ret < 0)
return cmd_fetch_finish(ctx);
}