aboutsummaryrefslogtreecommitdiffstats
path: root/channel.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-02-04 23:18:16 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-02-04 23:18:16 +0000
commit9d762a8ded289128c1b6ef8a571e1fb094706dbd (patch)
treee27db5d3c5ddb4b5b40fcdec107b54fbe6320e8b /channel.c
parent4b3d0271413c3021d7198101ab493a1be6104e29 (diff)
Don't call release if we have no generator
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@2129 f38db490-d61c-443f-a65b-d21fe96a405b
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);