Merged revisions 88624 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Mon, 5 Nov 2007 17:52:08 +0000 (17:52 +0000)
committerRussell Bryant <russell@russellbryant.com>
Mon, 5 Nov 2007 17:52:08 +0000 (17:52 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r88624 | russell | 2007-11-05 11:46:02 -0600 (Mon, 05 Nov 2007) | 5 lines

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/trunk@88651 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/channel.c

index 84d5cd6..d5fcb0a 100644 (file)
@@ -3688,8 +3688,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 */