Mercurial > dovecot > original-hg > dovecot-1.2
diff src/imap/commands.c @ 0:3b1985cbc908 HEAD
Initial revision
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 09 Aug 2002 12:15:38 +0300 |
parents | |
children | 83ae914a583a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/imap/commands.c Fri Aug 09 12:15:38 2002 +0300 @@ -0,0 +1,83 @@ +/* Copyright (C) 2002 Timo Sirainen */ + +#include "common.h" +#include "commands.h" + +ClientCommandFunc client_command_find(const char *name) +{ + /* keep the command uppercased */ + name = str_ucase((char *) t_strdup(name)); + + switch (*name) { + case 'A': + if (strcmp(name, "APPEND") == 0) + return cmd_append; + if (strcmp(name, "AUTHENTICATE") == 0) + return cmd_authenticate; + break; + case 'C': + if (strcmp(name, "CREATE") == 0) + return cmd_create; + if (strcmp(name, "COPY") == 0) + return cmd_copy; + if (strcmp(name, "CLOSE") == 0) + return cmd_close; + if (strcmp(name, "CHECK") == 0) + return cmd_copy; + if (strcmp(name, "CAPABILITY") == 0) + return cmd_capability; + break; + case 'D': + if (strcmp(name, "DELETE") == 0) + return cmd_delete; + break; + case 'E': + if (strcmp(name, "EXPUNGE") == 0) + return cmd_expunge; + if (strcmp(name, "EXAMINE") == 0) + return cmd_examine; + break; + case 'F': + if (strcmp(name, "FETCH") == 0) + return cmd_fetch; + break; + case 'L': + if (strcmp(name, "LIST") == 0) + return cmd_list; + if (strcmp(name, "LSUB") == 0) + return cmd_lsub; + if (strcmp(name, "LOGOUT") == 0) + return cmd_logout; + if (strcmp(name, "LOGIN") == 0) + return cmd_login; + break; + case 'N': + if (strcmp(name, "NOOP") == 0) + return cmd_noop; + break; + case 'R': + if (strcmp(name, "RENAME") == 0) + return cmd_rename; + break; + case 'S': + if (strcmp(name, "STORE") == 0) + return cmd_store; + if (strcmp(name, "SEARCH") == 0) + return cmd_search; + if (strcmp(name, "SELECT") == 0) + return cmd_select; + if (strcmp(name, "STATUS") == 0) + return cmd_status; + if (strcmp(name, "SUBSCRIBE") == 0) + return cmd_subscribe; + break; + case 'U': + if (strcmp(name, "UID") == 0) + return cmd_uid; + if (strcmp(name, "UNSUBSCRIBE") == 0) + return cmd_unsubscribe; + break; + } + + return NULL; +}