dovecot-2.0: lib-imap: Added imap_seq_set_nostar_parse()

dovecot at dovecot.org dovecot at dovecot.org
Mon Aug 23 18:09:17 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/cd0e0e44d4eb
changeset: 12030:cd0e0e44d4eb
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Aug 23 15:28:35 2010 +0100
description:
lib-imap: Added imap_seq_set_nostar_parse()

diffstat:

 src/lib-imap/imap-seqset.c |  12 ++++++++++++
 src/lib-imap/imap-seqset.h |   2 ++
 2 files changed, 14 insertions(+), 0 deletions(-)

diffs (34 lines):

diff -r c0ea2ceae362 -r cd0e0e44d4eb src/lib-imap/imap-seqset.c
--- a/src/lib-imap/imap-seqset.c	Mon Aug 23 15:12:56 2010 +0100
+++ b/src/lib-imap/imap-seqset.c	Mon Aug 23 15:28:35 2010 +0100
@@ -85,6 +85,18 @@
 	return 0;
 }
 
+int imap_seq_set_nostar_parse(const char *str, ARRAY_TYPE(seq_range) *dest)
+{
+	if (imap_seq_set_parse(str, dest) < 0)
+		return -1;
+
+	if (seq_range_exists(dest, (uint32_t)-1)) {
+		/* '*' used */
+		return -1;
+	}
+	return 0;
+}
+
 int imap_seq_range_parse(const char *str, uint32_t *seq1_r, uint32_t *seq2_r)
 {
 	if (get_next_seq_range(&str, seq1_r, seq2_r) < 0)
diff -r c0ea2ceae362 -r cd0e0e44d4eb src/lib-imap/imap-seqset.h
--- a/src/lib-imap/imap-seqset.h	Mon Aug 23 15:12:56 2010 +0100
+++ b/src/lib-imap/imap-seqset.h	Mon Aug 23 15:28:35 2010 +0100
@@ -6,6 +6,8 @@
 /* Parse IMAP sequence-set and store the result in dest. '*' is stored as
    (uint32_t)-1. Returns 0 if successful, -1 if input is invalid. */
 int imap_seq_set_parse(const char *str, ARRAY_TYPE(seq_range) *dest);
+/* Like imap_seq_set_parse(), but fail if '*' is used. */
+int imap_seq_set_nostar_parse(const char *str, ARRAY_TYPE(seq_range) *dest);
 
 /* Parse IMAP seq-number / seq-range. */
 int imap_seq_range_parse(const char *str, uint32_t *seq1_r, uint32_t *seq2_r);


More information about the dovecot-cvs mailing list