summaryrefslogtreecommitdiff
path: root/channel.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-02-04 23:18:16 +0000
committerMark Spencer <markster@digium.com>2004-02-04 23:18:16 +0000
commit02858c574c38b0775b21c53f8d447f16f6754da8 (patch)
treee27db5d3c5ddb4b5b40fcdec107b54fbe6320e8b /channel.c
parent1e4b3343210226ee4cc1c7ed1eb6a2d451763ac9 (diff)
Don't call release if we have no generator
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channel.c')
-rwxr-xr-xchannel.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/channel.c b/channel.c
index ee971f8cd..0de79cdf2 100755
--- a/channel.c
+++ b/channel.c
@@ -733,7 +733,8 @@ int ast_answer(struct ast_channel *chan)
void ast_deactivate_generator(struct ast_channel *chan)
{
if (chan->generatordata) {
- chan->generator->release(chan, chan->generatordata);
+ if (chan->generator && chan->generator->release)
+ chan->generator->release(chan, chan->generatordata);
chan->generatordata = NULL;
chan->generator = NULL;
chan->writeinterrupt = 0;
@@ -743,7 +744,8 @@ void ast_deactivate_generator(struct ast_channel *chan)
int ast_activate_generator(struct ast_channel *chan, struct ast_generator *gen, void *params)
{
if (chan->generatordata) {
- chan->generator->release(chan, chan->generatordata);
+ if (chan->generator && chan->generator->release)
+ chan->generator->release(chan, chan->generatordata);
chan->generatordata = NULL;
}
ast_prod(chan);