changeset 9513:0b7617d66ab1 HEAD

imap: Use imap_parse_system_flag().
author Timo Sirainen <tss@iki.fi>
date Tue, 23 Jun 2009 14:45:01 -0400
parents e4ba9799a1ac
children f068c8a19013
files src/imap/imap-commands-util.c
diffstat 1 files changed, 4 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- 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 @@
 			     const char *const **keywords_r)
 {
 	const char *atom;
+	enum mail_flags flag;
 	ARRAY_DEFINE(keywords, const char *);
 
 	*flags_r = 0;
@@ -263,16 +264,9 @@
 		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 ",