diff --git a/OpenChange/MAPIStoreContext.m b/OpenChange/MAPIStoreContext.m index 128e8d31f..5b73173d8 100644 --- a/OpenChange/MAPIStoreContext.m +++ b/OpenChange/MAPIStoreContext.m @@ -365,21 +365,23 @@ static inline NSURL *CompleteURLFromMapistoreURI (const char *uri) { int rc; NSString *objectURL, *url; + // TDB_DATA key, dbuf; - url = [contextUrl absoluteString]; + url = [[contextUrl absoluteString] + stringByReplacingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; objectURL = [[userContext mapping] urlFromID: fmid]; if (objectURL) { if ([objectURL hasPrefix: url]) { *path = [[objectURL substringFromIndex: 7] asUnicodeInMemCtx: memCtx]; - [self logWithFormat: @"found path '%s' for fmid 0x%.16"PRIx64"", *path, fmid]; + [self logWithFormat: @"found path '%s' for fmid 0x%.16"PRIx64"", *path, fmid]; rc = MAPISTORE_SUCCESS; } else { - [self logWithFormat: @"context (%@, %@) does not contain " - @"found fmid: 0x%.16"PRIx64"", objectURL, url, fmid]; + [self logWithFormat: @"context (%@, %@) does not contain " + @"found fmid: 0x%.16"PRIx64"", objectURL, url, fmid]; *path = NULL; rc = MAPISTORE_SUCCESS; } diff --git a/OpenChange/MAPIStoreMailContext.m b/OpenChange/MAPIStoreMailContext.m index f81b6c10e..24d974e5a 100644 --- a/OpenChange/MAPIStoreMailContext.m +++ b/OpenChange/MAPIStoreMailContext.m @@ -157,7 +157,7 @@ MakeDisplayFolderName (NSString *folderName) stringData = [NSString stringWithFormat: @"%@%@", urlBase, [currentName stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]]; context->url = [stringData asUnicodeInMemCtx: context]; - stringData = [[currentName substringFromIndex: 6] fromCSSIdentifier]; + stringData = [[[currentName substringFromIndex: 6] fromCSSIdentifier] stringByDecodingImap4FolderName]; context->name = [stringData asUnicodeInMemCtx: context]; context->main_folder = false; context->role = MAPISTORE_MAIL_ROLE; @@ -189,7 +189,7 @@ MakeDisplayFolderName (NSString *folderName) if ([newFolder create]) mapistoreURI = [NSString stringWithFormat: @"sogo://%@:%@@mail/%@/", userName, userName, - [folderName stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]]; + [[folderName stringByEncodingImap4FolderName] stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]]; else mapistoreURI = nil; [MAPIApp setUserContext: nil];