From 2b5aca0054795059149c16b4822d4f6a07cdfb66 Mon Sep 17 00:00:00 2001 From: jpeeler Date: Thu, 10 Sep 2009 23:49:09 +0000 Subject: Cleanup approach in 217804 and don't reach inside the sig_pvt. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@217987 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/chan_dahdi.c | 5 +---- channels/sig_pri.c | 7 +++++++ channels/sig_pri.h | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index ade108dbe..94240377d 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -6357,10 +6357,7 @@ static int dahdi_fixup(struct ast_channel *oldchan, struct ast_channel *newchan) } #ifdef HAVE_PRI else if (dahdi_sig_pri_lib_handles(p->sig)) { - struct sig_pri_chan *pchan = p->sig_pvt; - if (pchan->owner == oldchan) { - pchan->owner = newchan; - } + sig_pri_fixup(oldchan, newchan, p->sig_pvt); } #endif diff --git a/channels/sig_pri.c b/channels/sig_pri.c index 779d7f69c..f76113e08 100644 --- a/channels/sig_pri.c +++ b/channels/sig_pri.c @@ -3198,4 +3198,11 @@ int pri_maintenance_bservice(struct pri *pri, struct sig_pri_chan *p, int change } #endif +void sig_pri_fixup(struct ast_channel *oldchan, struct ast_channel *newchan, struct sig_pri_chan *pchan) +{ + if (pchan->owner == oldchan) { + pchan->owner = newchan; + } +} + #endif /* HAVE_PRI */ diff --git a/channels/sig_pri.h b/channels/sig_pri.h index eb6bd02bd..a61ef3161 100644 --- a/channels/sig_pri.h +++ b/channels/sig_pri.h @@ -266,4 +266,6 @@ int pri_send_callrerouting_facility_exec(struct sig_pri_chan *p, enum ast_channe int pri_maintenance_bservice(struct pri *pri, struct sig_pri_chan *p, int changestatus); #endif +void sig_pri_fixup(struct ast_channel *oldchan, struct ast_channel *newchan, struct sig_pri_chan *pchan); + #endif /* _SIG_PRI_H */ -- cgit v1.2.3