Now pass the memory context when copying/moving folders.
parent
e2d2212524
commit
4804337a01
|
@ -130,6 +130,7 @@ static NSString *MAPIStoreRightFolderContact = @"RightsFolderContact";
|
|||
withNewName: (NSString *) newFolderName
|
||||
isMove: (BOOL) isMove
|
||||
isRecursive: (BOOL) isRecursive
|
||||
inMemCtx: (TALLOC_CTX *) memCtx
|
||||
{
|
||||
enum mapistore_error rc;
|
||||
NSString *path, *pathComponent, *targetPath, *newPath;
|
||||
|
@ -164,7 +165,8 @@ static NSString *MAPIStoreRightFolderContact = @"RightsFolderContact";
|
|||
else
|
||||
rc = [super moveCopyToFolder: targetFolder withNewName: newFolderName
|
||||
isMove: isMove
|
||||
isRecursive: isRecursive];
|
||||
isRecursive: isRecursive
|
||||
inMemCtx: memCtx];
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
|
|
@ -129,7 +129,8 @@
|
|||
- (enum mapistore_error) moveCopyToFolder: (MAPIStoreFolder *) targetFolder
|
||||
withNewName: (NSString *) newFolderName
|
||||
isMove: (BOOL) isMove
|
||||
isRecursive: (BOOL) isRecursive;
|
||||
isRecursive: (BOOL) isRecursive
|
||||
inMemCtx: (TALLOC_CTX *) memCtx;
|
||||
|
||||
- (int) getDeletedFMIDs: (struct UI8Array_r **) fmidsPtr
|
||||
andCN: (uint64_t *) cnPtr
|
||||
|
|
|
@ -786,6 +786,8 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe
|
|||
withNewName: (NSString *) newFolderName
|
||||
isMove: (BOOL) isMove
|
||||
isRecursive: (BOOL) isRecursive
|
||||
inMemCtx: (TALLOC_CTX *) memCtx
|
||||
|
||||
{
|
||||
enum mapistore_error rc;
|
||||
NSAutoreleasePool *pool;
|
||||
|
@ -798,9 +800,9 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe
|
|||
NSUInteger count, max;
|
||||
NSString *childKey;
|
||||
uint64_t fmid;
|
||||
TALLOC_CTX *memCtx;
|
||||
//TALLOC_CTX *memCtx;
|
||||
|
||||
memCtx = talloc_zero (NULL, TALLOC_CTX);
|
||||
//memCtx = talloc_zero (NULL, TALLOC_CTX);
|
||||
|
||||
/* TODO: one possible issue with this algorithm is that moved messages will
|
||||
lack a version number and will all be assigned a new one, even though
|
||||
|
@ -878,7 +880,9 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe
|
|||
subFolder = [self lookupFolder: childKey];
|
||||
[subFolder moveCopyToFolder: newFolder withNewName: nil
|
||||
isMove: isMove
|
||||
isRecursive: isRecursive];
|
||||
isRecursive: isRecursive
|
||||
inMemCtx: memCtx];
|
||||
|
||||
}
|
||||
[pool release];
|
||||
}
|
||||
|
@ -898,7 +902,7 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe
|
|||
else
|
||||
rc = MAPISTORE_ERR_DENIED;
|
||||
|
||||
talloc_free (memCtx);
|
||||
//talloc_free (memCtx);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
|
|
@ -1055,6 +1055,7 @@ _parseCOPYUID (NSString *line, NSArray **destUIDsP)
|
|||
withNewName: (NSString *) newFolderName
|
||||
isMove: (BOOL) isMove
|
||||
isRecursive: (BOOL) isRecursive
|
||||
inMemCtx: (TALLOC_CTX *) memCtx
|
||||
{
|
||||
enum mapistore_error rc;
|
||||
NSURL *folderURL, *newFolderURL;
|
||||
|
@ -1150,7 +1151,8 @@ _parseCOPYUID (NSString *line, NSArray **destUIDsP)
|
|||
moveCopyToFolder: newFolder
|
||||
withNewName: nil
|
||||
isMove: NO
|
||||
isRecursive: YES];
|
||||
isRecursive: YES
|
||||
inMemCtx: memCtx];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1163,7 +1165,8 @@ _parseCOPYUID (NSString *line, NSArray **destUIDsP)
|
|||
else
|
||||
rc = [super moveCopyToFolder: targetFolder withNewName: newFolderName
|
||||
isMove: isMove
|
||||
isRecursive: isRecursive];
|
||||
isRecursive: isRecursive
|
||||
inMemCtx: memCtx];
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
|
|
@ -611,7 +611,7 @@ sogo_folder_move_copy_messages(void *folder_object,
|
|||
|
||||
static enum mapistore_error
|
||||
sogo_folder_move_folder(void *folder_object, void *target_folder_object,
|
||||
const char *new_folder_name)
|
||||
TALLOC_CTX *mem_ctx, const char *new_folder_name)
|
||||
{
|
||||
NSAutoreleasePool *pool;
|
||||
MAPIStoreFolder *moveFolder, *targetFolder;
|
||||
|
@ -643,7 +643,9 @@ sogo_folder_move_folder(void *folder_object, void *target_folder_object,
|
|||
rc = [moveFolder moveCopyToFolder: targetFolder
|
||||
withNewName: newFolderName
|
||||
isMove: YES
|
||||
isRecursive: YES];
|
||||
isRecursive: YES
|
||||
inMemCtx: mem_ctx];
|
||||
|
||||
[pool release];
|
||||
GSUnregisterCurrentThread ();
|
||||
}
|
||||
|
@ -656,7 +658,7 @@ sogo_folder_move_folder(void *folder_object, void *target_folder_object,
|
|||
}
|
||||
|
||||
static enum mapistore_error
|
||||
sogo_folder_copy_folder(void *folder_object, void *target_folder_object,
|
||||
sogo_folder_copy_folder(void *folder_object, void *target_folder_object, TALLOC_CTX *mem_ctx,
|
||||
bool recursive, const char *new_folder_name)
|
||||
{
|
||||
NSAutoreleasePool *pool;
|
||||
|
@ -683,7 +685,9 @@ sogo_folder_copy_folder(void *folder_object, void *target_folder_object,
|
|||
rc = [copyFolder moveCopyToFolder: targetFolder
|
||||
withNewName: newFolderName
|
||||
isMove: NO
|
||||
isRecursive: recursive];
|
||||
isRecursive: recursive
|
||||
inMemCtx: mem_ctx];
|
||||
|
||||
[pool release];
|
||||
GSUnregisterCurrentThread ();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue