Fix up datastore handling in ast_do_masquerade(). The code is intended to move

any channel datastores from the old channel to the new one.  However, it did
not use the linked list macros properly to accomplish the task.  The existing
code would only work if there was only a single datastore on the old channel.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Russell Bryant
2007-11-05 17:46:02 +00:00
parent 7fa3a53ec2
commit a3af50b67d

View File

@@ -3786,8 +3786,7 @@ int ast_do_masquerade(struct ast_channel *original)
/* Move data stores over */
if (AST_LIST_FIRST(&clone->datastores))
AST_LIST_INSERT_TAIL(&original->datastores, AST_LIST_FIRST(&clone->datastores), entry);
AST_LIST_HEAD_INIT_NOLOCK(&clone->datastores);
AST_LIST_APPEND_LIST(&original->datastores, &clone->datastores, entry);
clone_variables(original, clone);
/* Presense of ADSI capable CPE follows clone */