From 9426768dcd57ba77926df8c3dfb199c403f63086 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Wed, 27 Jul 2011 21:51:00 +0000 Subject: [PATCH] Monotone-Parent: 1b230d2b3187795587acf307f4f13e37ed612a08 Monotone-Revision: 2fba878ec8713c26f41ffeb5cf08c75601a7c6b0 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-07-27T21:51:00 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 4 ++++ OpenChange/NSString+MAPIStore.m | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0cc650160..89844144b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-07-27 Wolfgang Sourdeau + * OpenChange/NSString+MAPIStore.m (-asUnicodeInMemCtx): return an + empty string when length == 0, otherwise the resulting pointer + will be NULL. + * OpenChange/plreader.m: new test tool to dump property lists independently from their serialization format. diff --git a/OpenChange/NSString+MAPIStore.m b/OpenChange/NSString+MAPIStore.m index 81cdc1c7a..b0a7e0f5a 100644 --- a/OpenChange/NSString+MAPIStore.m +++ b/OpenChange/NSString+MAPIStore.m @@ -33,8 +33,13 @@ char *unicode; NSData *encoded; - encoded = [self dataUsingEncoding: NSUTF8StringEncoding]; - unicode = talloc_strndup (memCtx, [encoded bytes], [encoded length]); + if ([self length] > 0) + { + encoded = [self dataUsingEncoding: NSUTF8StringEncoding]; + unicode = talloc_strndup (memCtx, [encoded bytes], [encoded length]); + } + else + unicode = talloc_memdup (memCtx, "", 1); return unicode; }