(closes issue #13144)
authorSteve Murphy <murf@digium.com>
Wed, 23 Jul 2008 22:03:48 +0000 (22:03 +0000)
committerSteve Murphy <murf@digium.com>
Wed, 23 Jul 2008 22:03:48 +0000 (22:03 +0000)
commit1adecc56eb8f5ddb9aafff10fd2c385469b823e1
tree215d47a5e97b9793371df379e5eeba6ea9a029f8
parentfabba06d0271b0907903f946100690fdacee4f1d
(closes issue #13144)
Reported by: murf
Tested by: murf
For: J. Geis

The 'data' field in the ast_exten struct was being
'moved' from the current dialplan to the replacement
dialplan. This was not good, as the current dialplan
could have problems in the time between the change
and when the new dialplan is swapped in.

So, I modified the merge_and_delete code to strdup
the 'data' field (the args to the app call), and
then it's freed as normal.

I improved a few messages; I added code to limit
the number of calls to the context_merge_incls_swits_igps_other_registrars()
to one per context. I don't think having it called
multiple times per context was doing anything bad,
but it was inefficient.

I hope this fixes the problems Mr. Geiss was noting in
asterisk-users, see
http://lists.digium.com/pipermail/asterisk-users/2008-July/215634.html

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@133299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
main/pbx.c