summaryrefslogtreecommitdiff
path: root/main/channel.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2013-07-17 22:30:28 +0000
committerRichard Mudgett <rmudgett@digium.com>2013-07-17 22:30:28 +0000
commit40ce5e0d18520cd7a440cd8849e3e920be68f471 (patch)
tree5499af489ac45954318119e4294811be3da06dff /main/channel.c
parentda1902cdc060763a712bb1586cfca5ec1e9a2c49 (diff)
Change ast_hangup() to return void and be NULL safe.
Since ast_hangup() is effectively a channel destructor, it should be a void function. * Make the few silly callers checking the return value no longer do so. Only the CDR and CEL unit tests checked the return value. * Make all callers take advantage of the NULL safe change and remove the NULL check before the call. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@394623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/channel.c')
-rw-r--r--main/channel.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/main/channel.c b/main/channel.c
index c6df5f8b0..9932642c3 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -2640,8 +2640,13 @@ static void destroy_hooks(struct ast_channel *chan)
}
/*! \brief Hangup a channel */
-int ast_hangup(struct ast_channel *chan)
+void ast_hangup(struct ast_channel *chan)
{
+ /* Be NULL safe for RAII_VAR() usage. */
+ if (!chan) {
+ return;
+ }
+
ast_autoservice_stop(chan);
ast_channel_lock(chan);
@@ -2669,7 +2674,7 @@ int ast_hangup(struct ast_channel *chan)
ast_set_flag(ast_channel_flags(chan), AST_FLAG_ZOMBIE);
destroy_hooks(chan);
ast_channel_unlock(chan);
- return 0;
+ return;
}
/* Mark as a zombie so a masquerade cannot be setup on this channel. */
@@ -2733,8 +2738,6 @@ int ast_hangup(struct ast_channel *chan)
ast_cc_offer(chan);
ast_channel_unref(chan);
-
- return 0;
}
int ast_raw_answer(struct ast_channel *chan)