From 8fa605d4cc36111b2221ddee87c30513d4cba70a Mon Sep 17 00:00:00 2001 From: Kinsey Moore Date: Tue, 12 Feb 2013 20:16:45 +0000 Subject: [PATCH] Fix some more REF_DEBUG-related build errors When sip_ref_peer and sip_unref_peer were exported to be usable in channels/sip/security_events.c, modifications to those functions when building under REF_DEBUG were not taken into account. This change moves the necessary defines into sip.h to make them accessible to other parts of chan_sip that need them. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@381282 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 8 ++++---- channels/sip/include/sip.h | 10 +++++++++- channels/sip/security_events.c | 2 ++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 4a95ef93d5..917850291f 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -229,6 +229,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") balanced, along with the complete history for that object. In normal operation, the macros defined will throw away the tags, so they do not affect the speed of the program at all. They can be considered to be documentation. + + Note: This must also be enabled in channels/sip/security_events.c */ /* #define REF_DEBUG 1 */ @@ -3240,9 +3242,7 @@ cleanup: } #ifdef REF_DEBUG -#define sip_ref_peer(arg1,arg2) _ref_peer((arg1),(arg2), __FILE__, __LINE__, __PRETTY_FUNCTION__) -#define sip_unref_peer(arg1,arg2) _unref_peer((arg1),(arg2), __FILE__, __LINE__, __PRETTY_FUNCTION__) -static struct sip_peer *_ref_peer(struct sip_peer *peer, char *tag, char *file, int line, const char *func) +struct sip_peer *_ref_peer(struct sip_peer *peer, char *tag, char *file, int line, const char *func) { if (peer) __ao2_ref_debug(peer, 1, tag, file, line, func); @@ -3251,7 +3251,7 @@ static struct sip_peer *_ref_peer(struct sip_peer *peer, char *tag, char *file, return peer; } -static struct sip_peer *_unref_peer(struct sip_peer *peer, char *tag, char *file, int line, const char *func) +void *_unref_peer(struct sip_peer *peer, char *tag, char *file, int line, const char *func) { if (peer) __ao2_ref_debug(peer, -1, tag, file, line, func); diff --git a/channels/sip/include/sip.h b/channels/sip/include/sip.h index 17841096ca..5f173176ea 100644 --- a/channels/sip/include/sip.h +++ b/channels/sip/include/sip.h @@ -1917,7 +1917,15 @@ struct sip_peer *sip_find_peer(const char *peer, struct ast_sockaddr *addr, int void sip_auth_headers(enum sip_auth_type code, char **header, char **respheader); const char *sip_get_header(const struct sip_request *req, const char *name); const char *sip_get_transport(enum sip_transport t); -void *sip_unref_peer(struct sip_peer *peer, char *tag); + +#ifdef REF_DEBUG +#define sip_ref_peer(arg1,arg2) _ref_peer((arg1),(arg2), __FILE__, __LINE__, __PRETTY_FUNCTION__) +#define sip_unref_peer(arg1,arg2) _unref_peer((arg1),(arg2), __FILE__, __LINE__, __PRETTY_FUNCTION__) +struct sip_peer *_ref_peer(struct sip_peer *peer, char *tag, char *file, int line, const char *func); +void *_unref_peer(struct sip_peer *peer, char *tag, char *file, int line, const char *func); +#else struct sip_peer *sip_ref_peer(struct sip_peer *peer, char *tag); +void *sip_unref_peer(struct sip_peer *peer, char *tag); +#endif /* REF_DEBUG */ #endif diff --git a/channels/sip/security_events.c b/channels/sip/security_events.c index cde9f12f3d..4045ae14d0 100644 --- a/channels/sip/security_events.c +++ b/channels/sip/security_events.c @@ -32,6 +32,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") +/* #define REF_DEBUG 1 */ + #include "include/sip.h" #include "include/security_events.h"