From: Timo Sirainen Date: Fri, 28 May 2010 11:21:58 +0000 (+0100) Subject: lib-storage: human search arg parser now gets mailbox name using UTF-8. X-Git-Tag: 2.0.beta6~122 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5e6042124b6429d60b352eaf951ee67e0a311a8c;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: human search arg parser now gets mailbox name using UTF-8. --HG-- branch : HEAD --- diff --git a/src/lib-storage/mail-search-register-human.c b/src/lib-storage/mail-search-register-human.c index 6e2a54087c..513ee5d90e 100644 --- a/src/lib-storage/mail-search-register-human.c +++ b/src/lib-storage/mail-search-register-human.c @@ -3,6 +3,8 @@ #include "lib.h" #include "ioloop.h" #include "array.h" +#include "str.h" +#include "imap-utf7.h" #include "settings-parser.h" #include "imap-date.h" #include "mail-search-register.h" @@ -132,7 +134,19 @@ human_search_guid(struct mail_search_build_context *ctx) static struct mail_search_arg * human_search_mailbox(struct mail_search_build_context *ctx) { - return mail_search_build_str(ctx, SEARCH_MAILBOX_GLOB); + struct mail_search_arg *sarg; + + sarg = mail_search_build_str(ctx, SEARCH_MAILBOX_GLOB); + T_BEGIN { + string_t *str = t_str_new(128); + + if (imap_utf8_to_utf7(sarg->value.str, str) < 0) { + str_truncate(str, 0); + str_append(str, sarg->value.str); + } + sarg->value.str = p_strdup(ctx->pool, str_c(str)); + } T_END; + return sarg; } static struct mail_search_arg *