view src/imap/cmd-uid.c @ 296:d66aa1f1fb2d HEAD

Added fast-flag for mailbox opening, which doesn't do any index compressing or cache updating. This flag is set when mailbox is opened by APPEND, COPY or STATUS (ie. not SELECT/EXAMINE).
author Timo Sirainen <tss@iki.fi>
date Mon, 23 Sep 2002 13:42:20 +0300
parents 3b1985cbc908
children 553f050c8313
line wrap: on
line source

/* Copyright (C) 2002 Timo Sirainen */

#include "common.h"
#include "commands.h"

int cmd_uid(Client *client)
{
	const char *cmd;

	/* UID <command> <args> */
	cmd = imap_parser_read_word(client->parser);
	if (cmd == NULL)
		return FALSE;

	client->cmd_func = NULL;
	switch (*cmd) {
	case 'c':
	case 'C':
		if (strcasecmp(cmd, "COPY") == 0)
			client->cmd_func = cmd_copy;
		break;
	case 'f':
	case 'F':
		if (strcasecmp(cmd, "FETCH") == 0)
			client->cmd_func = cmd_fetch;
		break;
	case 's':
	case 'S':
		if (strcasecmp(cmd, "STORE") == 0)
			client->cmd_func = cmd_store;
		else if (strcasecmp(cmd, "SEARCH") == 0)
			client->cmd_func = cmd_search;
		break;
	}

	if (client->cmd_func != NULL) {
		client->cmd_uid = TRUE;
		return client->cmd_func(client);
	} else {
		client_send_tagline(client, t_strconcat(
			"BAD Unknown UID command ", cmd, NULL));
		return TRUE;
	}
}