diff options
author | Richard Mudgett <rmudgett@digium.com> | 2010-04-03 02:12:33 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2010-04-03 02:12:33 +0000 |
commit | a5a0a5f867a45eef2e7ccb6c64f3a4f2e8c3a7ba (patch) | |
tree | d5314391644adec2c19d0dc0b36644a20a12c759 /funcs/func_callerid.c | |
parent | 5333a48b17e3f0f9cb12a7cb23da9bc509539dd7 (diff) |
Consolidate ast_channel.cid.cid_rdnis into ast_channel.redirecting.from.number.
SWP-1229
ABE-2161
* Ensure chan_local.c:local_call() will not leak cid.cid_dnid when
copying.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@256104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'funcs/func_callerid.c')
-rw-r--r-- | funcs/func_callerid.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/funcs/func_callerid.c b/funcs/func_callerid.c index 3e9e74e0a..3de69950e 100644 --- a/funcs/func_callerid.c +++ b/funcs/func_callerid.c @@ -209,8 +209,8 @@ static int callerid_read(struct ast_channel *chan, const char *cmd, char *data, } } } else if (!strncasecmp("rdnis", data, 5)) { - if (chan->cid.cid_rdnis) { - ast_copy_string(buf, chan->cid.cid_rdnis, len); + if (chan->redirecting.from.number) { + ast_copy_string(buf, chan->redirecting.from.number, len); } } else if (!strncasecmp("pres", data, 4)) { ast_copy_string(buf, ast_named_caller_presentation(chan->cid.cid_pres), len); @@ -311,10 +311,8 @@ static int callerid_write(struct ast_channel *chan, const char *cmd, char *data, ast_channel_unlock(chan); } else if (!strncasecmp("rdnis", data, 5)) { ast_channel_lock(chan); - if (chan->cid.cid_rdnis) { - ast_free(chan->cid.cid_rdnis); - } - chan->cid.cid_rdnis = ast_strdup(value); + ast_free(chan->redirecting.from.number); + chan->redirecting.from.number = ast_strdup(value); if (chan->cdr) { ast_cdr_setcid(chan->cdr, chan); } |