From: Aaron Dierking Date: Thu, 14 Jun 2018 18:38:32 +0000 (-0700) Subject: Provide a with MIN() and MAX() X-Git-Tag: 0.10.0~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=480334080262a705bc029d0acb62d49900bfbe3c;p=thirdparty%2Flibbsd.git Provide a with MIN() and MAX() Windows doesn't provide . Several libbsd sources require it for MIN(), and these are useful non-system-specific macros anyway. Signed-off-by: Guillem Jover --- diff --git a/COPYING b/COPYING index 87234aa..3e7c7cc 100644 --- a/COPYING +++ b/COPYING @@ -74,6 +74,7 @@ License: BSD-4-clause-Christopher-G-Demetriou Files: include/bsd/err.h include/bsd/stdlib.h + include/bsd/sys/param.h include/bsd/unistd.h src/bsd_getopt.c src/err.c @@ -84,6 +85,7 @@ Copyright: Copyright © 2005 Hector Garcia Alvarez Copyright © 2005 Aurelien Jarno Copyright © 2006 Robert Millan + Copyright © 2018 Facebook, Inc. License: BSD-3-clause Files: diff --git a/include/Makefile.am b/include/Makefile.am index ce3f058..949ea80 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -4,6 +4,7 @@ nobase_include_HEADERS = \ bsd/sys/bitstring.h \ bsd/sys/cdefs.h \ bsd/sys/endian.h \ + bsd/sys/param.h \ bsd/sys/poll.h \ bsd/sys/queue.h \ bsd/sys/time.h \ diff --git a/include/bsd/sys/param.h b/include/bsd/sys/param.h new file mode 100644 index 0000000..d971775 --- /dev/null +++ b/include/bsd/sys/param.h @@ -0,0 +1,49 @@ +/* + * Copyright © 2018 Facebook, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef LIBBSD_OVERLAY +#include +#if __has_include_next() +#include_next +#endif +#else +#include +#if __has_include() +#include +#endif +#endif + +#ifndef LIBBSD_SYS_PARAM_H +#define LIBBSD_SYS_PARAM_H + +#ifndef MIN +#define MIN(x, y) (((x) < (y)) ? (x) : (y)) +#endif +#ifndef MAX +#define MAX(x, y) (((x) > (y)) ? (x) : (y)) +#endif + +#endif