From cd921c025d699a1b1d0a8c08d0daf7c4e211e3cb Mon Sep 17 00:00:00 2001 From: Chris Frey Date: Fri, 21 Nov 2008 19:15:57 -0500 Subject: [PATCH] Added IConverter support to r_folder.cc --- ChangeLog | 1 + src/r_folder.cc | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 63b3e526..98eddd26 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,7 @@ Release: version 0.15 - 2008/10/?? - fixed bug where opensync plugin didn't pass IConverter to Desktop - added IConverter support to r_calendar.cc - renamed utf8Needed to iconvNeeded, for consistency + - added IConverter support to r_folder.cc 2008/11/20 - changed Parser base class to pure abstract... this is so that future API changes to the Parse base class will be diff --git a/src/r_folder.cc b/src/r_folder.cc index b691a944..9cf82a14 100644 --- a/src/r_folder.cc +++ b/src/r_folder.cc @@ -26,6 +26,7 @@ #include "data.h" #include "time.h" #include "debug.h" +#include "iconv.h" #include #include @@ -67,8 +68,8 @@ namespace Barry { #define ROOT_SEPARATOR 0x3a static FieldLink FolderFieldLinks[] = { - { FFC_NAME, "FolderName", 0, 0, &Folder::FolderName, 0, 0 }, - { FFC_END, "End of List", 0, 0, 0, 0, 0 }, + { FFC_NAME, "FolderName", 0, 0, &Folder::FolderName, 0, 0, 0, 0, true }, + { FFC_END, "End of List", 0, 0, 0, 0, 0, 0, 0, false }, }; Folder::Folder() @@ -104,6 +105,8 @@ const unsigned char* Folder::ParseField(const unsigned char *begin, if( b->strMember ) { std::string &s = this->*(b->strMember); s = ParseFieldString(field); + if( b->iconvNeeded && ic ) + s = ic->FromBB(s); return begin; // done! } else if( b->timeMember && btohs(field->size) == 4 ) { -- 2.11.4.GIT