From 9b2022f216e903a916a69e7bc4e5545d890b6f3b Mon Sep 17 00:00:00 2001 From: Jan Breuer <jan.breuer@jaybee.cz> Date: 周一, 22 2月 2021 18:02:31 +0800 Subject: [PATCH] Add example code assertions and note to documentation --- libscpi/inc/scpi/cc.h | 117 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 78 insertions(+), 39 deletions(-) diff --git a/libscpi/inc/scpi/cc.h b/libscpi/inc/scpi/cc.h index 0ad081e..4381602 100644 --- a/libscpi/inc/scpi/cc.h +++ b/libscpi/inc/scpi/cc.h @@ -1,28 +1,29 @@ /*- - * Copyright (c) 2012-2013 Jan Breuer, + * BSD 2-Clause License * - * All Rights Reserved + * Copyright (c) 2012-2018, Jan Breuer + * All rights reserved. * * 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. + * modification, are permitted provided that the following conditions are met: * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``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 AUTHORS 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. + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 THE COPYRIGHT HOLDER 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. */ /** @@ -53,34 +54,58 @@ # endif #endif -#if POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700 +#if (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200809L) || \ + (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 700) #define HAVE_STRNDUP 1 #define HAVE_STRNLEN 1 #endif -#if _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || C99 -#define HAVE_SNPRINTF 1 +#if (defined _BSD_SOURCE && _BSD_SOURCE) || \ + (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 500) || \ + (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \ + (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) || \ + C99 + #define HAVE_SNPRINTF 1 #endif -#if _POSIX_C_SOURCE >= 200112L -#define HAVE_STRNCASECMP 1 +#if (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) + #define HAVE_STRNCASECMP 1 #endif -#if _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || C99 +#if (defined _BSD_SOURCE && _BSD_SOURCE) || \ + (defined _SVID_SOURCE && _SVID_SOURCE) || \ + (defined _XOPEN_SOURCE && _XOPEN_SOURCE) || \ + (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \ + (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) ||\ + C99 #define HAVE_ISNAN 1 #endif -#if _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || C99 +#if (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 600)|| \ + (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \ + (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) || \ + C99 #define HAVE_ISFINITE 1 #define HAVE_SIGNBIT 1 #endif -#if XOPEN_SOURCE >= 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L +#if (defined _XOPEN_SOURCE && XOPEN_SOURCE >= 600) || \ + (defined _BSD_SOURCE && _BSD_SOURCE) || \ + (defined _SVID_SOURCE && _SVID_SOURCE) || \ + (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \ + (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) #define HAVE_STRTOLL 1 #endif -#if _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || C99 +#if (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 600) || \ + (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \ + (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) || \ + C99 #define HAVE_STRTOF 1 +#endif + +#if (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || C99 + #define HAVE_STDBOOL 1 #endif /* Compiler specific */ @@ -92,7 +117,6 @@ /* National Instruments (R) CVI x86/x64 PC platform */ #if defined(_CVI_) #define HAVE_STRNICMP 1 -#define HAVE_STDBOOL 0 #endif /* 8bit PIC - PIC16, etc */ @@ -113,8 +137,11 @@ #if defined(__AVR__) #include <stdlib.h> #define HAVE_DTOSTRE 1 +#undef HAVE_STRTOF +#define HAVE_STRTOF 0 #endif +/* default values */ #ifndef HAVE_STRNLEN #define HAVE_STRNLEN 0 #endif @@ -123,44 +150,56 @@ #define HAVE_STRDUP 0 #endif +#ifndef HAVE_STRNDUP +#define HAVE_STRNDUP 0 +#endif + #ifndef HAVE_STRNICMP #define HAVE_STRNICMP 0 #endif #ifndef HAVE_STDBOOL -#define HAVE_STDBOOL 1 +#define HAVE_STDBOOL 0 #endif #ifndef HAVE_SNPRINTF -#define HAVE_SNPRINTF 0 +#define HAVE_SNPRINTF 0 #endif #ifndef HAVE_STRNCASECMP -#define HAVE_STRNCASECMP 0 +#define HAVE_STRNCASECMP 0 #endif #ifndef HAVE_ISNAN -#define HAVE_ISNAN 0 +#define HAVE_ISNAN 0 #endif #ifndef HAVE_ISFINITE -#define HAVE_ISFINITE 0 +#define HAVE_ISFINITE 0 +#endif + +#ifndef HAVE_FINITE +#define HAVE_FINITE 0 #endif #ifndef HAVE_SIGNBIT -#define HAVE_SIGNBIT 0 +#define HAVE_SIGNBIT 0 #endif #ifndef HAVE_STRTOLL -#define HAVE_STRTOLL 0 +#define HAVE_STRTOLL 0 #endif #ifndef HAVE_STRTOF -#define HAVE_STRTOF 0 +#define HAVE_STRTOF 0 +#endif + +#ifndef HAVE_DTOSTRE +#define HAVE_DTOSTRE 0 #endif #ifdef __cplusplus } #endif -#endif /* __SCPI_CC_H_ */ \ No newline at end of file +#endif /* __SCPI_CC_H_ */ -- Gitblit v1.9.1