Hyphens in folder names break LIST

Matthew Hodgson matthew at mxtelecom.com
Thu May 22 06:20:15 EDT 2008


David Carter wrote:
> On Tue, 20 May 2008, Matthew Hodgson wrote:
> 
>> If I create a hierarchy of folders such as:
>>
>> test
>> test.SPAM
>> test-foo
>>
>> and try to list the folder hierarchy with something like:
>>
>> 11 LIST "" "test%"
>>
>> I get broken output, where test is listed twice - the second time with a
>> \Noselect flag:
> 
> The problem is that '-' sorts before '.' in ASCII. Try:
> 
>   improved_mboxlist_sort: 1
> 
> (You will need to dump and then restore the mboxlist).

Thanks for the response - I'm not sure how I managed to miss the 
improved_mboxlist_sort option so spectacularly... on spotting the ASCII 
sorting problem, one of my first thoughts was to change the comparator 
in order to fudge the ordering of '.'.

Out of interest, do you (or anyone else) understand the mstringdata() 
code well enough to see what negative side-effects there might be of 
simplifying the partial match suppression logic?  It seems that the 
function, which actually writes the output of LIST/LSUB commands to the 
client, is called with the name of the folder which has matched the 
pattern, with a matchlen argument which describes how much of the name 
was matched by the pattern before hitting a '%'.

As such, I'd have thought that any expression where name[matchlen] != 
'\0' is by definition a partial match which can be suppressed - and I 
don't see why the code bothers to compare the stem of the match with the 
stem of the previously matched folder name (which is where the behaviour 
then breaks with the default comparator).  I'm just wondering if 
improved_mboxlist_sort is in fact the correct fix to this problem.

M.


-- 
Matthew Hodgson <matthew at mxtelecom.com>
Media & Systems Project Manager
Tel: +44 (0) 845 666 7778
http://www.mxtelecom.com


More information about the Info-cyrus mailing list