[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] [tor/master] Add the MIN and MAX macros for platforms that lack them



Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Thu, 25 Feb 2010 16:48:26 -0500
Subject: Add the MIN and MAX macros for platforms that lack them
Commit: f0b5f87eab1845cc54fadb50aa61ee497d4d8460

---
 src/common/compat.h |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/src/common/compat.h b/src/common/compat.h
index 3b58bff..14705d7 100644
--- a/src/common/compat.h
+++ b/src/common/compat.h
@@ -553,6 +553,19 @@ void tor_cond_signal_all(tor_cond_t *cond);
 #endif
 #endif
 
+/** Macros for MIN/MAX.  Never use these when the arguments could have
+ * side-effects.
+ * {With GCC extensions we could probably define a safer MIN/MAX.  But
+ * depending on that safety would be dangerous, since not every platform
+ * has it.}
+ **/
+#ifndef MAX
+#define MAX(a,b) ( ((a)<(b)) ? (b) : (a) )
+#endif
+#ifndef MIN
+#define MIN(a,b) ( ((a)>(b)) ? (b) : (a) )
+#endif
+
 /* Platform-specific helpers. */
 #ifdef MS_WINDOWS
 char *format_win32_error(DWORD err);
-- 
1.6.5