summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@kernel.org>2022-09-28 23:19:37 +0200
committerSerge Hallyn <serge@hallyn.com>2022-09-30 16:13:36 -0500
commit3dc1754e50ee559ea810f6c4b406c7a117cb8131 (patch)
tree6b1cbfa68f7af35731ac3b257e730db7385c3dcb
parent0d9799de040c4e1afd5ed4474464d29500f43774 (diff)
Use libc MAX() and MIN()
glibc, musl, FreeBSD, and OpenBSD define the MAX() and MIN() macros in <sys/param.h> with the same definition that we use. Let's not redefine it here and use the system one, as it's effectively the same as we define (modulo whitespace). See: shadow (previously): alx@asus5775:~/src/shadow/shadow$ grepc -ktm MAX ./lib/defines.h:318:#define MAX(x,y) (((x) > (y)) ? (x) : (y)) glibc: alx@asus5775:~/src/gnu/glibc$ grepc -ktm -x 'sys/param.h$' MAX ./misc/sys/param.h:103:#define MAX(a,b) (((a)>(b))?(a):(b)) musl: alx@asus5775:~/src/musl/musl$ grepc -ktm -x 'sys/param.h$' MAX ./include/sys/param.h:19:#define MAX(a,b) (((a)>(b))?(a):(b)) OpenBSD: alx@asus5775:~/src/bsd/openbsd/src$ grepc -ktm -x 'sys/param.h$' MAX ./sys/sys/param.h:193:#define MAX(a,b) (((a)>(b))?(a):(b)) FreeBSD: alx@asus5775:~/src/bsd/freebsd/freebsd-src$ grepc -ktm -x 'sys/param.h$' MAX ./sys/sys/param.h:333:#define MAX(a,b) (((a)>(b))?(a):(b)) Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r--lib/defines.h8
-rw-r--r--libmisc/utmp.c1
2 files changed, 1 insertions, 8 deletions
diff --git a/lib/defines.h b/lib/defines.h
index ee33aa0d..6a6bf73e 100644
--- a/lib/defines.h
+++ b/lib/defines.h
@@ -310,14 +310,6 @@ extern char *strerror ();
# define format_attr(type, index, check)
#endif
-/* ! Arguments evaluated twice ! */
-#ifndef MIN
-#define MIN(a,b) (((a) < (b)) ? (a) : (b))
-#endif
-#ifndef MAX
-#define MAX(x,y) (((x) > (y)) ? (x) : (y))
-#endif
-
/* Maximum length of usernames */
#ifdef HAVE_UTMPX_H
# include <utmpx.h>
diff --git a/libmisc/utmp.c b/libmisc/utmp.c
index d2b65ac7..45b479f1 100644
--- a/libmisc/utmp.c
+++ b/libmisc/utmp.c
@@ -19,6 +19,7 @@
#endif
#include <assert.h>
+#include <sys/param.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>