# HG changeset patch # User Timo Sirainen # Date 1242584827 14400 # Node ID db2fdf3529ac60c2661882d9bbd41a82a48e1006 # Parent fa9bc4ef6f32d256dc3333c9d635f34587e3f4d2 LIST: Previous prefix="", list=no change broke listing other list=no namespaces. diff -r fa9bc4ef6f32 -r db2fdf3529ac src/imap/cmd-list.c --- a/src/imap/cmd-list.c Fri May 15 13:06:15 2009 -0400 +++ b/src/imap/cmd-list.c Sun May 17 14:27:07 2009 -0400 @@ -571,15 +571,16 @@ skip_namespace_prefix_pattern(ctx, &cur_ns_prefix, cur_ref, &cur_pattern); if (*cur_ns_prefix == '\0') { - /* no namespace prefix: if list=no we don't want to show - anything, except when the client does e.g. LIST "" mailbox. - prefix="", list=no namespace is mainly useful for working - around client bugs. */ - if ((ns->flags & NAMESPACE_FLAG_LIST_PREFIX) == 0 && - list_pattern_has_wildcards(cur_pattern)) - return FALSE; - else - return TRUE; + if (*ns->prefix == '\0') { + /* no namespace prefix: if list=no we don't want to + show anything, except when the client does e.g. + LIST "" mailbox. prefix="", list=no namespace is + mainly useful for working around client bugs. */ + if ((ns->flags & NAMESPACE_FLAG_LIST_PREFIX) == 0 && + list_pattern_has_wildcards(cur_pattern)) + return FALSE; + } + return TRUE; } /* namespace prefix still wasn't completely skipped over.