From 81fa307af708dc8017dba85a6ec1d93adcae3b5b Mon Sep 17 00:00:00 2001
From: Kinsey Moore <kmoore@digium.com>
Date: Tue, 12 Feb 2013 20:18:21 +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.
........

Merged revisions 381282 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@381285 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 b7603b6914..f6c8b90c06 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -241,6 +241,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 */
 
@@ -3291,9 +3293,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);
@@ -3302,7 +3302,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 f51ac77495..f74446ab84 100644
--- a/channels/sip/include/sip.h
+++ b/channels/sip/include/sip.h
@@ -1918,7 +1918,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"
 
-- 
GitLab