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; }