diff options
author | Simon Josefsson <simon@josefsson.org> | 2004-09-29 17:46:55 +0000 |
---|---|---|
committer | Simon Josefsson <simon@josefsson.org> | 2004-09-29 17:46:55 +0000 |
commit | 12f5c586707fb11c658da5910ebfcf8cc318c8db (patch) | |
tree | 7e75ecd3eb63e56e4dc431fc3b2d223608f1f8d5 /gl/minmax.h | |
parent | d1a3baa9f76377d74530c096ad8799b6866e6bbf (diff) | |
download | gnutls-12f5c586707fb11c658da5910ebfcf8cc318c8db.tar.gz |
Use strnstr from gnulib.
Gnulib sync.
Diffstat (limited to 'gl/minmax.h')
-rw-r--r-- | gl/minmax.h | 66 |
1 files changed, 44 insertions, 22 deletions
diff --git a/gl/minmax.h b/gl/minmax.h index c2a2c61812..0e505109e7 100644 --- a/gl/minmax.h +++ b/gl/minmax.h @@ -1,31 +1,53 @@ -/* Copyright (C) 2004 Simon Josefsson - Copyright (C) 1995,1996,1997,2000,2001,2003 Free Software Foundation, Inc. +/* MIN, MAX macros. + Copyright (C) 1995, 1998, 2001, 2003 Free Software Foundation, Inc. - This file is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 2.1 of - the License, or (at your option) any later version. + 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 + the Free Software Foundation; either version 2, or (at your option) + any later version. - This file is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. - You should have received a copy of the GNU Lesser General Public - License along with this file; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifndef MINMAX_H -# define MINMAX_H +#ifndef _MINMAX_H +#define _MINMAX_H -/* Macros for min/max. */ -#ifndef MIN -# define MIN(a,b) (((a)<(b))?(a):(b)) -#endif +/* Note: MIN, MAX are also defined in <sys/param.h> on some systems + (glibc, IRIX, HP-UX, OSF/1). Therefore you might get warnings about + MIN, MAX macro redefinitions on some systems; the workaround is to + #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> + +/* 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 + arguments, if the arguments have different types or have unusual + floating-point values. For example, on a typical host with 32-bit 'int', + 64-bit 'long long', and 64-bit IEEE 754 'double' types: + + MAX (-1, 2147483648) returns 4294967295. + MAX (9007199254740992.0, 9007199254740993) returns 9007199254740992.0. + MAX (NaN, 0.0) returns 0.0. + MAX (+0.0, -0.0) returns -0.0. + and in each case the answer is in some sense bogus. */ + +/* MAX(a,b) returns the maximum of A and B. */ #ifndef MAX -# define MAX(a,b) (((a)>(b))?(a):(b)) +# define MAX(a,b) ((a) > (b) ? (a) : (b)) +#endif + +/* MIN(a,b) returns the minimum of A and B. */ +#ifndef MIN +# define MIN(a,b) ((a) < (b) ? (a) : (b)) #endif -#endif /* MINMAX_H */ +#endif /* _MINMAX_H */ |