![]() |
![]() |
|
00001 /* ///////////////////////////////////////////////////////////////////////// 00002 * File: src/shwild_safestr.h 00003 * 00004 * Purpose: Handles detection of safe string library. 00005 * 00006 * Created: 8th February 2008 00007 * Updated: 20th December 2011 00008 * 00009 * Author: Matthew Wilson 00010 * 00011 * Home: http://www.shwild.org/ 00012 * 00013 * Copyright (c) 2008-2011, Matthew Wilson 00014 * 00015 * Redistribution and use in source and binary forms, with or without 00016 * modification, are permitted provided that the following conditions are 00017 * met: 00018 * 00019 * - Redistributions of source code must retain the above copyright notice, 00020 * this list of conditions and the following disclaimer. 00021 * - Redistributions in binary form must reproduce the above copyright 00022 * notice, this list of conditions and the following disclaimer in the 00023 * documentation and/or other materials provided with the distribution. 00024 * - Neither the names of Matthew Wilson and Synesis Software nor the names 00025 * of any contributors may be used to endorse or promote products derived 00026 * from this software without specific prior written permission. 00027 * 00028 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 00029 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 00030 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00031 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 00032 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00033 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00034 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 00035 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 00036 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00037 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00038 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00039 * 00040 * ////////////////////////////////////////////////////////////////////// */ 00041 00042 00043 #ifndef SHWILD_INCL_H_SHWILD_SAFESTR 00044 #define SHWILD_INCL_H_SHWILD_SAFESTR 00045 00046 /* ///////////////////////////////////////////////////////////////////////// 00047 * Includes 00048 */ 00049 00050 #include <shwild/shwild.h> 00051 00052 #include "shwild_stlsoft.h" 00053 00054 #ifdef SHWILD_SAFE_STR_USE_crtdefs_h_ 00055 # undef SHWILD_SAFE_STR_USE_crtdefs_h_ 00056 #endif /* SHWILD_SAFE_STR_USE_crtdefs_h_ */ 00057 00058 #if defined(__BORLANDC__) 00059 #elif defined(__DMC__) 00060 #elif defined(__GNUC__) 00061 #elif defined(__INTEL_COMPILER) 00062 # if defined(_MSC_VER) && \ 00063 _MSC_VER >= 1400 00064 # define SHWILD_SAFE_STR_USE_crtdefs_h_ 00065 # endif /* _MSC_VER >= 1400 */ 00066 #elif defined(__MWERKS__) 00067 #elif defined(__WATCOMC__) 00068 #elif defined(_MSC_VER) 00069 # if _MSC_VER >= 1400 00070 # define SHWILD_SAFE_STR_USE_crtdefs_h_ 00071 # endif /* _MSC_VER >= 1400 */ 00072 #elif defined(__COMO__) 00073 #else 00074 #endif /* compiler */ 00075 00076 #ifdef SHWILD_SAFE_STR_USE_crtdefs_h_ 00077 # include <crtdefs.h> 00078 #else /* ? SHWILD_SAFE_STR_USE_crtdefs_h_ */ 00079 # include <string.h> 00080 #endif /* SHWILD_SAFE_STR_USE_crtdefs_h_ */ 00081 00082 /* ///////////////////////////////////////////////////////////////////////// 00083 * Feature detection 00084 */ 00085 00086 #ifdef __STDC_SECURE_LIB__ 00087 # if defined(__STDC_WANT_SECURE_LIB__) && \ 00088 __STDC_WANT_SECURE_LIB__ == 1 00089 # define SHWILD_USING_SAFE_STR_FUNCTIONS 00090 # endif /* __STDC_WANT_SECURE_LIB__ */ 00091 #endif /* __STDC_SECURE_LIB__ */ 00092 00093 /* ////////////////////////////////////////////////////////////////////// */ 00094 00095 #endif /* SHWILD_INCL_H_SHWILD_SAFESTR */ 00096 00097 /* ////////////////////////////////////////////////////////////////////// */
|
b64 Library documentation © Synesis Software Pty Ltd, 2004-2012 |