From 6af9d209ee997d624aecbaf4a0bcd0ca7d60c31a Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 6 Oct 2010 19:19:48 +0100 Subject: [PATCH] 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. --- src/lib-storage/index/maildir/maildir-uidlist.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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); -- 2.47.3