[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