Monotone-Parent: 3a115c300e05230d3e0392a7aa86ccee296f50cc

Monotone-Revision: c9072cd9f62ce341982a28f6b662d079949b101d

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2011-11-22T19:53:53
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2011-11-22 19:53:53 +00:00
parent 5c7d7aa062
commit 7616ee92a1
4 changed files with 26 additions and 2 deletions

View File

@ -2,7 +2,8 @@
* OpenChange/NSArray+MAPIStore.m (-asMVUnicodeInMemCtx:) renamed
from "asArrayOfUnicodeStringsInCtx".
(-asMVUnicodeInMemCtx:): new conversion method.
(-asMVUnicodeInMemCtx:, -asMVLongInMemCtx:): new conversion
methods.
* OpenChange/MAPIStoreTypes.m (NSObjectFromValuePointer):
simplified method by using set_SPropValue_proptag and

View File

@ -36,6 +36,7 @@
+ (id) arrayFromMVShort: (const struct ShortArray_r *) mvShort;
+ (id) arrayFromMVLong: (const struct LongArray_r *) mvLong;
- (struct LongArray_r *) asMVLongInMemCtx: (void *) memCtx;
+ (id) arrayFromMVI8: (const struct I8Array_r *) mvI8;
+ (id) arrayFromMVString: (const struct StringArray_r *) mvString;
+ (id) arrayFromMVUnicode: (const struct WStringArray_r *) mvUnicode;

View File

@ -149,6 +149,26 @@
return mvResult;
}
- (struct LongArray_r *) asMVLongInMemCtx: (void *) memCtx
{
struct LongArray_r *list;
NSNumber *number;
NSInteger count, max;
max = [self count];
list = talloc_zero(memCtx, struct LongArray_r);
list->cValues = max;
list->lpl = talloc_array(list, uint32_t, max);
for (count = 0; count < max; count++)
{
number = [self objectAtIndex: count];
list->lpl[count] = [number longValue];
}
return list;
}
+ (id) arrayFromMVI8: (const struct I8Array_r *) mvI8
{
NSUInteger count;

View File

@ -111,7 +111,9 @@ static int MAPIStoreTallocWrapperDestroy (void *data)
case PT_CLSID:
*data = [(NSData *) self asGUIDInMemCtx: memCtx];
break;
case PT_MV_LONG:
*data = [(NSArray *) self asMVLongInMemCtx: memCtx];
break;
case PT_MV_UNICODE:
*data = [(NSArray *) self asMVUnicodeInMemCtx: memCtx];
break;