From 49d0043a2eda750255166b883c32b7e8f1377fb0 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Mon, 18 Jul 2011 23:47:44 +0000 Subject: [PATCH] Monotone-Parent: 88b07aa8edf775fa02705a9c03a0f8f14f905db3 Monotone-Revision: b60a07f4bcb416be85fafcd1299d398c09b58190 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-07-18T23:47:44 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 6 ++++++ OpenChange/NSString+MAPIStore.m | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 75914b443..10141b9bf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-07-18 Wolfgang Sourdeau + + * OpenChange/NSString+MAPIStore.m (-asUnicodeInMemCtx:): use an + alternative method to convert the string to a utf8 array of bytes + to avoid an undefined conditional bug in GNUstep. + 2011-07-18 Francis Lachapelle * SoObjects/SOGo/SOGoSystemDefaults.m (-addDomainToUID): new diff --git a/OpenChange/NSString+MAPIStore.m b/OpenChange/NSString+MAPIStore.m index 13f4f878c..81cdc1c7a 100644 --- a/OpenChange/NSString+MAPIStore.m +++ b/OpenChange/NSString+MAPIStore.m @@ -22,6 +22,8 @@ #include +#import + #import "NSString+MAPIStore.h" @implementation NSString (MAPIStoreDataTypes) @@ -29,8 +31,10 @@ - (char *) asUnicodeInMemCtx: (void *) memCtx { char *unicode; + NSData *encoded; - unicode = talloc_strdup (memCtx, [self UTF8String]); + encoded = [self dataUsingEncoding: NSUTF8StringEncoding]; + unicode = talloc_strndup (memCtx, [encoded bytes], [encoded length]); return unicode; }