dovecot-1.2-sieve: Imap4flags: fixed bug in setflag command; whe...
pigeonhole at rename-it.nl
pigeonhole at rename-it.nl
Tue Aug 3 19:34:31 EEST 2010
details: http://hg.rename-it.nl/dovecot-1.2-sieve/rev/92512f733520
changeset: 1267:92512f733520
user: Stephan Bosch <stephan at rename-it.nl>
date: Tue Aug 03 18:34:24 2010 +0200
description:
Imap4flags: fixed bug in setflag command; when parameter was a stringlist, only the last item was actually set.
diffstat:
src/lib-sieve/plugins/imap4flags/cmd-flag.c | 3 +++
tests/extensions/imap4flags/basic.svtest | 24 ++++++++++++++++++++++++
2 files changed, 27 insertions(+), 0 deletions(-)
diffs (47 lines):
diff -r c1d3018ba796 -r 92512f733520 src/lib-sieve/plugins/imap4flags/cmd-flag.c
--- a/src/lib-sieve/plugins/imap4flags/cmd-flag.c Mon Aug 02 14:22:43 2010 +0200
+++ b/src/lib-sieve/plugins/imap4flags/cmd-flag.c Tue Aug 03 18:34:24 2010 +0200
@@ -249,6 +249,9 @@
if ( (ret=flag_op(renv, storage, var_index, flag_item)) <= 0)
return ret;
+
+ if ( flag_op == ext_imap4flags_set_flags )
+ flag_op = ext_imap4flags_add_flags;
}
if ( !result ) {
diff -r c1d3018ba796 -r 92512f733520 tests/extensions/imap4flags/basic.svtest
--- a/tests/extensions/imap4flags/basic.svtest Mon Aug 02 14:22:43 2010 +0200
+++ b/tests/extensions/imap4flags/basic.svtest Tue Aug 03 18:34:24 2010 +0200
@@ -104,6 +104,30 @@
}
}
+test "Setflag; string list" {
+ setflag ["A B", "C D"];
+
+ if not hasflag "A" {
+ test_fail "hasflag misses A flag";
+ }
+
+ if not hasflag "B" {
+ test_fail "hasflag misses B flag";
+ }
+
+ if not hasflag "C" {
+ test_fail "hasflag misses C flag";
+ }
+
+ if not hasflag "D" {
+ test_fail "hasflag misses D flag";
+ }
+
+ if hasflag :comparator "i;ascii-numeric" :count "ne" "4" {
+ test_fail "hasflag sees incorrect number of flags";
+ }
+}
+
test "Removal: one" {
setflag "\\seen";
More information about the dovecot-cvs
mailing list