]> git.pld-linux.org Git - packages/mutt.git/commitdiff
- patch fixing new message count for Courier-IMAP folders (http://dev.mutt.org/trac...
authorJacek Konieczny <jajcus@pld-linux.org>
Tue, 13 Nov 2007 15:26:17 +0000 (15:26 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    mutt-imap_mxcmp.patch -> 1.1

mutt-imap_mxcmp.patch [new file with mode: 0644]

diff --git a/mutt-imap_mxcmp.patch b/mutt-imap_mxcmp.patch
new file mode 100644 (file)
index 0000000..bc55fcf
--- /dev/null
@@ -0,0 +1,50 @@
+--- mutt-1.5.17/imap/util.c.orig       2007-04-12 22:44:40.000000000 +0200
++++ mutt-1.5.17/imap/util.c    2007-11-13 15:57:52.000000000 +0100
+@@ -262,13 +262,44 @@
+   return 0;
+ }
+-/* silly helper for mailbox name string comparisons, because of INBOX */
++/* Silly helper for mailbox name string comparisons, because of INBOX 
++ * and different folder delimiters. Warning: unlike strcmp this funtion
++ * won't tell which mailbox is 'greater'. */
+ int imap_mxcmp (const char* mx1, const char* mx2)
+ {
++  int result;
++  int i,j;
++  char c1,c2;
++
+   if (!ascii_strcasecmp (mx1, "INBOX") && !ascii_strcasecmp (mx2, "INBOX"))
+     return 0;
+-  
+-  return mutt_strcmp (mx1, mx2);
++
++  result = mutt_strcmp (mx1, mx2);
++
++  if (result == 0 || !ImapDelimChars || !ImapDelimChars[0]) {
++    /* exactly equal or no ImapDelimChars -- we are done */
++    return 0;
++  }
++
++  if (!mx1 || !mx2) return 1;
++
++  /* compare with normalized delimiters 
++   * (so "INBOX.something" equals "INBOX./something") */
++  for(i=0,j=0; mx1[i] && mx2[j]; i++, j++) {
++    c1 = mx1[i];
++    c2 = mx2[j];
++    if (strchr(ImapDelimChars, c1)) {
++      c1 = ImapDelimChars[0];
++      while(mx1[i+1] && strchr(ImapDelimChars, mx1[i+1])) i+=1;
++    }
++    if (strchr(ImapDelimChars, c2)) {
++      c2 = ImapDelimChars[0];
++      while(mx2[j+1] && strchr(ImapDelimChars, mx2[j+1])) j+=1;
++    }
++    if (c1 != c2) return 1;
++  }
++  if (mx1[i] || mx2[j]) return 1;
++  return 0;
+ }
+ /* imap_pretty_mailbox: called by mutt_pretty_mailbox to make IMAP paths
This page took 0.035581 seconds and 4 git commands to generate.