]> git.llucax.com Git - software/mutt-debian.git/blob - debian/patches/upstream/375530-index-weirdness.patch
upstream/603288-split-fetches.patch: split FETCH's into smaller chunks, workaround...
[software/mutt-debian.git] / debian / patches / upstream / 375530-index-weirdness.patch
1 Actually reopen mbox/mmdf files in case we find modifications. Closes 
2 http://bugs.mutt.org/2725.
3
4 Since the file is changed while we have it open in ctx->fp, we likely
5 get wrong information when parsing the mailbox. Now we explicitely close
6 and (re)open it.
7
8 See http://bugs.debian.org/375530 for more info
9
10 --- a/mbox.c
11 +++ b/mbox.c
12 @@ -1119,17 +1119,13 @@
13    {
14      case M_MBOX:
15      case M_MMDF:
16 -      if (fseek (ctx->fp, 0, SEEK_SET) != 0)
17 -      {
18 -        dprint (1, (debugfile, "mutt_reopen_mailbox: fseek() failed\n"));
19 +      cmp_headers = mbox_strict_cmp_headers;
20 +      safe_fclose (&ctx->fp);
21 +      if (!(ctx->fp = safe_fopen (ctx->path, "r")))
22          rc = -1;
23 -      } 
24 -      else 
25 -      {
26 -        cmp_headers = mbox_strict_cmp_headers;
27 +      else
28          rc = ((ctx->magic == M_MBOX) ? mbox_parse_mailbox
29 -                                    : mmdf_parse_mailbox) (ctx);
30 -      }
31 +                                  : mmdf_parse_mailbox) (ctx);
32        break;
33  
34      default: