Move MIN and MAX into lib/intmath/cmp.h

This commit is contained in:
Nick Mathewson 2018-06-28 13:19:42 -04:00
parent 8736892679
commit 3d1e99d01b
2 changed files with 14 additions and 13 deletions

View File

@ -60,6 +60,7 @@
#include "lib/fs/mmap.h" #include "lib/fs/mmap.h"
#include "lib/fs/userdb.h" #include "lib/fs/userdb.h"
#include "lib/wallclock/timeval.h" #include "lib/wallclock/timeval.h"
#include "lib/intmath/cmp.h"
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
@ -92,19 +93,6 @@ typedef unsigned long rlim_t;
int set_max_file_descriptors(rlim_t limit, int *max); int set_max_file_descriptors(rlim_t limit, int *max);
MOCK_DECL(int, get_total_system_memory, (size_t *mem_out)); MOCK_DECL(int, get_total_system_memory, (size_t *mem_out));
/** 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
ssize_t tor_getpass(const char *prompt, char *output, size_t buflen); ssize_t tor_getpass(const char *prompt, char *output, size_t buflen);
/* This needs some of the declarations above so we include it here. */ /* This needs some of the declarations above so we include it here. */

View File

@ -6,6 +6,19 @@
#ifndef TOR_INTMATH_CMP_H #ifndef TOR_INTMATH_CMP_H
#define TOR_INTMATH_CMP_H #define TOR_INTMATH_CMP_H
/** 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
/* Return <b>v</b> if it's between <b>min</b> and <b>max</b>. Otherwise /* Return <b>v</b> if it's between <b>min</b> and <b>max</b>. Otherwise
* return <b>min</b> if <b>v</b> is smaller than <b>min</b>, or <b>max</b> if * return <b>min</b> if <b>v</b> is smaller than <b>min</b>, or <b>max</b> if
* <b>b</b> is larger than <b>max</b>. * <b>b</b> is larger than <b>max</b>.