aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2009-09-10 23:49:09 +0000
committerjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2009-09-10 23:49:09 +0000
commit2b5aca0054795059149c16b4822d4f6a07cdfb66 (patch)
tree0403a74b8e2dd6a712ed73a05384e9ac3cbcd09e
parent5e30f2459e043784e5b096604c6ba8b66cd95ef1 (diff)
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
-rw-r--r--channels/chan_dahdi.c5
-rw-r--r--channels/sig_pri.c7
-rw-r--r--channels/sig_pri.h2
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 */