summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2005-05-23 10:26:24 +0000
committerBruno Haible <bruno@clisp.org>2005-05-23 10:26:24 +0000
commit4ddb141e3fc7bf94ac7ac82b87aa777d45404b40 (patch)
tree5c54549c14acf11e697844577d603b391f90400b /lib
parent6c6148fa5d696b5d49473e15359c9d5bf9c8eda1 (diff)
downloadgnulib-4ddb141e3fc7bf94ac7ac82b87aa777d45404b40.tar.gz
Add autoconf tests for the 'minmax' module.
Diffstat (limited to 'lib')
-rw-r--r--lib/ChangeLog6
-rw-r--r--lib/minmax.h13
2 files changed, 16 insertions, 3 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog
index eda3c44741..f938e2d304 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,5 +1,11 @@
2005-05-22 Bruno Haible <bruno@clisp.org>
+ * minmax.h: Include <limits.h> only when it defines MIN, MAX.
+ Also include <sys/param.h> if it defines MIN, MAX.
+ Based on a patch by Derek Price <derek@ximbiot.com>.
+
+2005-05-22 Bruno Haible <bruno@clisp.org>
+
* stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
(INT64_MIN): Fix definition.
Suggested by Paul Eggert <eggert@cs.ucla.edu>.
diff --git a/lib/minmax.h b/lib/minmax.h
index 63b55b4ee8..975ea76d13 100644
--- a/lib/minmax.h
+++ b/lib/minmax.h
@@ -1,5 +1,5 @@
/* MIN, MAX macros.
- Copyright (C) 1995, 1998, 2001, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1998, 2001, 2003, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,8 +24,15 @@
#include this file as the last one among the #include list. */
/* Before we define the following symbols we get the <limits.h> file
- since otherwise we get redefinitions on some systems. */
-#include <limits.h>
+ since otherwise we get redefinitions on some systems if <limits.h> is
+ included after this file. Likewise for <sys/param.h>.
+ If more than one of these system headers define MIN and MAX, pick just
+ one of the headers (because the definitions most likely are the same). */
+#if HAVE_MINMAX_IN_LIMITS_H
+# include <limits.h>
+#elif HAVE_MINMAX_IN_SYS_PARAM_H
+# include <sys/param.h>
+#endif
/* Note: MIN and MAX should be used with two arguments of the
same type. They might not return the minimum and maximum of their two