From 1c4468cf9f7d9f47ed160d680fdf0f7f3ec81cef Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Wed, 27 Nov 2019 17:50:55 +0100 Subject: [PATCH] btstack_bool: move bool definition into separate header file (similar to std_bool.h) --- src/btstack_bool.h | 77 +++++++++++++++++++++++++++++++++++++++++++ src/btstack_defines.h | 30 +---------------- 2 files changed, 78 insertions(+), 29 deletions(-) create mode 100644 src/btstack_bool.h diff --git a/src/btstack_bool.h b/src/btstack_bool.h new file mode 100644 index 000000000..15207c5cd --- /dev/null +++ b/src/btstack_bool.h @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2019 BlueKitchen GmbH + * + * 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. Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * 4. Any redistribution, use, or modification is done solely for + * personal benefit and not for any commercial purpose or for + * monetary gain. + * + * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS + * ``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 MATTHIAS + * RINGWALD OR CONTRIBUTORS 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. + * + * Please inquire about commercial licensing options at + * contact@bluekitchen-gmbh.com + * + */ + +/* + * btstack_bool.h + * + * Provide bool type */ + +#ifndef BTSTACK_BOOL_H +#define BTSTACK_BOOL_H + +#if !defined(__cplusplus) + +// +// Check for C99 +// see: https://sourceforge.net/p/predef/wiki/Standards/ +// +#if defined(__STDC__) +# if defined(__STDC_VERSION__) +# if (__STDC_VERSION__ >= 199901L) +# define PREDEF_STANDARD_C_1999 +# endif +# endif +#endif /* __STDC__ */ + +// define boolean type - required for MISRA-C 2012 Essential Type System +#ifdef PREDEF_STANDARD_C_1999 + +// use if C99 or higher +# include + +#else /* PREDEF_STANDARD_C_1999 */ + +// backport for pre-c99 compilers +#define bool unsigned char +#define false 0 +#define true 1 + +#endif /* PREDEF_STANDARD_C_1999 */ + +#endif /* __cplusplus */ + +#endif /* BTSTACK_BOOL_H */ diff --git a/src/btstack_defines.h b/src/btstack_defines.h index 129ec386c..bf0777812 100644 --- a/src/btstack_defines.h +++ b/src/btstack_defines.h @@ -44,42 +44,14 @@ #define BTSTACK_DEFINES_H #include -#include "btstack_linked_list.h" +#include "btstack_linked_list.h" // UNUSED macro #ifndef UNUSED #define UNUSED(x) (void)(sizeof(x)) #endif - -#if !defined(__cplusplus) - -// -// Check for C99 -// see: https://sourceforge.net/p/predef/wiki/Standards/ -// -#if defined(__STDC__) -# if defined(__STDC_VERSION__) -# if (__STDC_VERSION__ >= 199901L) -# define PREDEF_STANDARD_C_1999 -# endif -# endif -#endif - -// define boolean type - required for MISRA-C 2012 Essential Type System -#ifdef PREDEF_STANDARD_C_1999 -// use if C99 or higher -#include -#else -// backport for pre-c99 compilers -#define bool unsigned char -#define false 0 -#define true 1 -#endif - -#endif - // TYPES // packet handler