dovecot-1.2: SEARCH RETURN (PARTIAL): Allow higher:lower numbers...

dovecot at dovecot.org dovecot at dovecot.org
Wed Feb 4 21:19:04 EET 2009


details:   http://hg.dovecot.org/dovecot-1.2/rev/0118c6040468
changeset: 8713:0118c6040468
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Feb 04 14:18:24 2009 -0500
description:
SEARCH RETURN (PARTIAL): Allow higher:lower numbers in partial seq range.

diffstat:

1 file changed, 11 insertions(+), 2 deletions(-)
src/imap/cmd-search.c |   13 +++++++++++--

diffs (26 lines):

diff -r 69cdbfd4c1ed -r 0118c6040468 src/imap/cmd-search.c
--- a/src/imap/cmd-search.c	Wed Feb 04 13:54:49 2009 -0500
+++ b/src/imap/cmd-search.c	Wed Feb 04 14:18:24 2009 -0500
@@ -57,11 +57,20 @@ imap_partial_range_parse(struct imap_sea
 	ctx->partial2 = 0;
 	for (; *str >= '0' && *str <= '9'; str++)
 		ctx->partial1 = ctx->partial1 * 10 + *str-'0';
-	if (*str != ':')
+	if (*str != ':' || ctx->partial1 == 0)
 		return -1;
 	for (str++; *str >= '0' && *str <= '9'; str++)
 		ctx->partial2 = ctx->partial2 * 10 + *str-'0';
-	return *str == '\0' ? 0 : -1;
+	if (*str != '\0' || ctx->partial2 == 0)
+		return -1;
+
+	if (ctx->partial1 > ctx->partial2) {
+		uint32_t temp = ctx->partial2;
+		ctx->partial2 = ctx->partial1;
+		ctx->partial1 = temp;
+	}
+
+	return 0;
 }
 
 static bool


More information about the dovecot-cvs mailing list