<<< Date Index >>>     <<< Thread Index >>>

cygwin + imap cache failures and possible fix



Hi All,

i built mutt 1.5.17 on cygwin, and had trouble getting the header/body
caching to work. A bit of investigation revealed that the culprit is
the inability to use a ':' in a filename on cygwin/win32 coupled with
the cache naming scheme based on the imap url which includes a ':'. As
a quick fix, i patched both bcache_path in bcache.c and
mutt_hcache_per_folder in hcache.c to mutt_sanitize_filename their
cache paths before returning them, and removed ':' from the list of
legal filename characters safe_chars for mutt_sanitize_filename in
lib.c. Things appear to work with these fixes.

i'm not sure how acceptable removing : from the characters considered
safe is, or if there's a way to make this platform dependent.

i've attached a patch generated using diff against the distributed
1.5.17 sources.i left the dprint i used to check what was going on in
also.

Apologies for not using mercurial as advised in devel-notes.txt, but
my attempts to use the win32 all in one versions of mercurial to clone
mutt failed (abort: premature EOF reading chunk (got 33076 bytes,
expected 37378)).

 - robbie