dovecot-2.0: imap: Use imap_parse_system_flag().

dovecot at dovecot.org dovecot at dovecot.org
Tue Jun 23 21:45:10 EEST 2009


details:   http://hg.dovecot.org/dovecot-2.0/rev/0b7617d66ab1
changeset: 9513:0b7617d66ab1
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Jun 23 14:45:01 2009 -0400
description:
imap: Use imap_parse_system_flag().

diffstat:

1 file changed, 4 insertions(+), 10 deletions(-)
src/imap/imap-commands-util.c |   14 ++++----------

diffs (31 lines):

diff -r e4ba9799a1ac -r 0b7617d66ab1 src/imap/imap-commands-util.c
--- a/src/imap/imap-commands-util.c	Tue Jun 23 14:44:46 2009 -0400
+++ b/src/imap/imap-commands-util.c	Tue Jun 23 14:45:01 2009 -0400
@@ -246,6 +246,7 @@ bool client_parse_mail_flags(struct clie
 			     const char *const **keywords_r)
 {
 	const char *atom;
+	enum mail_flags flag;
 	ARRAY_DEFINE(keywords, const char *);
 
 	*flags_r = 0;
@@ -263,16 +264,9 @@ bool client_parse_mail_flags(struct clie
 		if (*atom == '\\') {
 			/* system flag */
 			atom = t_str_ucase(atom);
-			if (strcmp(atom, "\\ANSWERED") == 0)
-				*flags_r |= MAIL_ANSWERED;
-			else if (strcmp(atom, "\\FLAGGED") == 0)
-				*flags_r |= MAIL_FLAGGED;
-			else if (strcmp(atom, "\\DELETED") == 0)
-				*flags_r |= MAIL_DELETED;
-			else if (strcmp(atom, "\\SEEN") == 0)
-				*flags_r |= MAIL_SEEN;
-			else if (strcmp(atom, "\\DRAFT") == 0)
-				*flags_r |= MAIL_DRAFT;
+			flag = imap_parse_system_flag(atom);
+			if (flag != 0 && flag != MAIL_RECENT)
+				*flags_r |= flag;
 			else {
 				client_send_tagline(cmd, t_strconcat(
 					"BAD Invalid system flag ",


More information about the dovecot-cvs mailing list