From: Timo Sirainen Date: Wed, 6 Oct 2010 18:19:48 +0000 (+0100) Subject: maildir: Write only base filenames to uidlist. X-Git-Tag: 2.0.6~80 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6af9d209ee997d624aecbaf4a0bcd0ca7d60c31a;p=thirdparty%2Fdovecot%2Fcore.git maildir: Write only base filenames to uidlist. Previously the old filename was used to guess the initial filename, but nowadays we do that by building the filename based on flags in index. --- diff --git a/src/lib-storage/index/maildir/maildir-uidlist.c b/src/lib-storage/index/maildir/maildir-uidlist.c index 09cf051107..3e69b3eebb 100644 --- a/src/lib-storage/index/maildir/maildir-uidlist.c +++ b/src/lib-storage/index/maildir/maildir-uidlist.c @@ -1234,6 +1234,7 @@ static int maildir_uidlist_write_fd(struct maildir_uidlist *uidlist, int fd, struct maildir_uidlist_rec *rec; string_t *str; const unsigned char *p; + const char *strp; unsigned int len; int ret; @@ -1285,7 +1286,13 @@ static int maildir_uidlist_write_fd(struct maildir_uidlist *uidlist, int fd, p += len + 1; } } - str_printfa(str, " :%s\n", rec->filename); + str_append(str, " :"); + strp = strchr(rec->filename, ':'); + if (strp == NULL) + str_append(str, rec->filename); + else + str_append_n(str, rec->filename, strp - rec->filename); + str_append_c(str, '\n'); o_stream_send(output, str_data(str), str_len(str)); } maildir_uidlist_iter_deinit(&iter);