cmd-status.c revision 387e0f9241495b4745bb891a2597f3fd63914261
/* Copyright (C) 2002 Timo Sirainen */
#include "common.h"
#include "str.h"
#include "imap-quote.h"
#include "commands.h"
#include "imap-sync.h"
/* Returns status items, or -1 if error */
static enum mailbox_status_items
{
const char *item;
enum mailbox_status_items items;
items = 0;
/* list may contain only atoms */
"Status list contains non-atoms.");
return -1;
}
items |= STATUS_MESSAGES;
items |= STATUS_RECENT;
items |= STATUS_UIDNEXT;
items |= STATUS_UNSEEN;
else {
return -1;
}
}
return items;
}
enum mailbox_status_items items,
struct mailbox_status *status)
{
int failed;
/* this mailbox is selected */
} else {
/* open the mailbox */
return FALSE;
}
if (imap_sync_nonselected(box, 0) < 0)
else
return !failed;
}
{
struct mailbox_status status;
enum mailbox_status_items items;
struct mail_storage *storage;
const char *mailbox, *real_mailbox;
/* <mailbox> <status items> */
return FALSE;
return TRUE;
}
/* get the items client wants */
/* error */
return TRUE;
}
return FALSE;
/* get status */
return TRUE;
}
if (items & STATUS_MESSAGES)
if (items & STATUS_RECENT)
if (items & STATUS_UIDNEXT)
if (items & STATUS_UIDVALIDITY)
if (items & STATUS_UNSEEN)
if (items != 0)
return TRUE;
}