From b02f13e22a0292ed9c696ac195ede43c05817f50 Mon Sep 17 00:00:00 2001 From: Tilghman Lesher Date: Thu, 7 Jan 2010 21:17:32 +0000 Subject: [PATCH] Merged revisions 209400 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ........ r209400 | kpfleming | 2009-07-28 08:49:46 -0500 (Tue, 28 Jul 2009) | 3 lines Define side-effect-safe MIN and MAX macros and remove duplicate definitions from various files. (closes issue #16251) Reported by: asgaroth ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@238497 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_alsa.c | 3 --- channels/chan_console.c | 7 ------- channels/chan_oss.c | 7 ------- channels/chan_sip.c | 4 ---- channels/chan_usbradio.c | 7 ------- include/asterisk/utils.h | 5 +++++ main/poll.c | 8 -------- 7 files changed, 5 insertions(+), 36 deletions(-) diff --git a/channels/chan_alsa.c b/channels/chan_alsa.c index de726ac3f1..c6814f4adc 100644 --- a/channels/chan_alsa.c +++ b/channels/chan_alsa.c @@ -591,9 +591,6 @@ static struct ast_channel *alsa_request(const char *type, int fmt, void *data, i static char *autoanswer_complete(const char *line, const char *word, int pos, int state) { -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif switch (state) { case 0: if (!ast_strlen_zero(word) && !strncasecmp(word, "on", MIN(strlen(word), 2))) diff --git a/channels/chan_console.c b/channels/chan_console.c index b057580fb8..4c9b91a91b 100644 --- a/channels/chan_console.c +++ b/channels/chan_console.c @@ -101,13 +101,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") */ #define TEXT_SIZE 256 -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif -#ifndef MAX -#define MAX(a,b) ((a) > (b) ? (a) : (b)) -#endif - /*! \brief Dance, Kirby, Dance! @{ */ #define V_BEGIN " --- <(\"<) --- " #define V_END " --- (>\")> ---\n" diff --git a/channels/chan_oss.c b/channels/chan_oss.c index cc29608caa..d045e00c1e 100644 --- a/channels/chan_oss.c +++ b/channels/chan_oss.c @@ -229,13 +229,6 @@ END_CONFIG #define DEV_DSP "/dev/dsp" #endif -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif -#ifndef MAX -#define MAX(a,b) ((a) > (b) ? (a) : (b)) -#endif - static char *config = "oss.conf"; /* default config file */ static int oss_debug; diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 6dbe3b3008..ba9d92bcad 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -243,10 +243,6 @@ static int min_expiry = DEFAULT_MIN_EXPIRY; /*!< Minimum accepted registr static int max_expiry = DEFAULT_MAX_EXPIRY; /*!< Maximum accepted registration time */ static int default_expiry = DEFAULT_DEFAULT_EXPIRY; -#ifndef MAX -#define MAX(a,b) ((a) > (b) ? (a) : (b)) -#endif - #define CALLERID_UNKNOWN "Anonymous" #define FROMDOMAIN_INVALID "anonymous.invalid" diff --git a/channels/chan_usbradio.c b/channels/chan_usbradio.c index 312bc997bd..bc77888d02 100644 --- a/channels/chan_usbradio.c +++ b/channels/chan_usbradio.c @@ -351,13 +351,6 @@ END_CONFIG #define DEV_DSP "/dev/dsp" #endif -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif -#ifndef MAX -#define MAX(a,b) ((a) > (b) ? (a) : (b)) -#endif - static const char *config = "usbradio.conf"; /* default config file */ #define config1 "usbradio_tune_%s.conf" /* tune config file */ diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h index fcbbdbd394..91de914b5c 100644 --- a/include/asterisk/utils.h +++ b/include/asterisk/utils.h @@ -220,6 +220,11 @@ void ast_sha1_hash(char *output, char *input); int ast_base64encode_full(char *dst, const unsigned char *src, int srclen, int max, int linebreaks); +#undef MIN +#define MIN(a, b) ({ typeof(a) __a = (a); typeof(b) __b = (b); ((__a > __b) ? __b : __a);}) +#undef MAX +#define MAX(a, b) ({ typeof(a) __a = (a); typeof(b) __b = (b); ((__a < __b) ? __b : __a);}) + /*! * \brief Encode data in base64 * \param dst the destination buffer diff --git a/main/poll.c b/main/poll.c index bb93125a6b..62e681dca8 100644 --- a/main/poll.c +++ b/main/poll.c @@ -83,14 +83,6 @@ #ifdef AST_POLL_COMPAT -/*---------------------------------------------------------------------------*\ - Macros -\*---------------------------------------------------------------------------*/ - -#ifndef MAX -#define MAX(a,b) ((a) > (b) ? (a) : (b)) -#endif - /*---------------------------------------------------------------------------*\ Private Functions \*---------------------------------------------------------------------------*/ -- 2.47.2