"Fossies" - the Fresh Open Source Software Archive

Member "uriparser-0.9.5/include/uriparser/UriDefsConfig.h" (18 Mar 2021, 3312 Bytes) of package /linux/www/uriparser-0.9.5.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 /*
    2  * uriparser - RFC 3986 URI parsing library
    3  *
    4  * Copyright (C) 2007, Weijia Song <songweijia@gmail.com>
    5  * Copyright (C) 2007, Sebastian Pipping <sebastian@pipping.org>
    6  * All rights reserved.
    7  *
    8  * Redistribution and use in source  and binary forms, with or without
    9  * modification, are permitted provided  that the following conditions
   10  * are met:
   11  *
   12  *     1. Redistributions  of  source  code   must  retain  the  above
   13  *        copyright notice, this list  of conditions and the following
   14  *        disclaimer.
   15  *
   16  *     2. Redistributions  in binary  form  must  reproduce the  above
   17  *        copyright notice, this list  of conditions and the following
   18  *        disclaimer  in  the  documentation  and/or  other  materials
   19  *        provided with the distribution.
   20  *
   21  *     3. Neither the  name of the  copyright holder nor the  names of
   22  *        its contributors may be used  to endorse or promote products
   23  *        derived from  this software  without specific  prior written
   24  *        permission.
   25  *
   26  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   27  * "AS IS" AND  ANY EXPRESS OR IMPLIED WARRANTIES,  INCLUDING, BUT NOT
   28  * LIMITED TO,  THE IMPLIED WARRANTIES OF  MERCHANTABILITY AND FITNESS
   29  * FOR  A  PARTICULAR  PURPOSE  ARE  DISCLAIMED.  IN  NO  EVENT  SHALL
   30  * THE  COPYRIGHT HOLDER  OR CONTRIBUTORS  BE LIABLE  FOR ANY  DIRECT,
   31  * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   32  * (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE GOODS OR
   33  * SERVICES; LOSS OF USE, DATA,  OR PROFITS; OR BUSINESS INTERRUPTION)
   34  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   35  * STRICT  LIABILITY,  OR  TORT (INCLUDING  NEGLIGENCE  OR  OTHERWISE)
   36  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   37  * OF THE POSSIBILITY OF SUCH DAMAGE.
   38  */
   39 
   40 /**
   41  * @file UriDefsConfig.h
   42  * Adjusts the internal configuration after processing external definitions.
   43  */
   44 
   45 #ifndef URI_DEFS_CONFIG_H
   46 #define URI_DEFS_CONFIG_H 1
   47 
   48 
   49 
   50 /* Deny external overriding */
   51 #undef URI_ENABLE_ANSI      /* Internal for !URI_NO_ANSI */
   52 #undef URI_ENABLE_UNICODE   /* Internal for !URI_NO_UNICODE */
   53 
   54 
   55 
   56 /* Encoding */
   57 #ifdef URI_NO_ANSI
   58 # ifdef URI_NO_UNICODE
   59 /* No encoding at all */
   60 #  error URI_NO_ANSI and URI_NO_UNICODE cannot go together.
   61 # else
   62 /* Wide strings only */
   63 #  define URI_ENABLE_UNICODE  1
   64 # endif
   65 #else
   66 # ifdef URI_NO_UNICODE
   67 /* Narrow strings only */
   68 #  define URI_ENABLE_ANSI     1
   69 # else
   70 /* Both narrow and wide strings */
   71 #  define URI_ENABLE_ANSI     1
   72 #  define URI_ENABLE_UNICODE  1
   73 # endif
   74 #endif
   75 
   76 
   77 
   78 /* Function inlining, not ANSI/ISO C! */
   79 #if defined(URI_DOXYGEN)
   80 # define URI_INLINE
   81 #elif defined(__INTEL_COMPILER)
   82 /* Intel C/C++ */
   83 /* http://predef.sourceforge.net/precomp.html#sec20 */
   84 /* http://www.intel.com/support/performancetools/c/windows/sb/CS-007751.htm#2 */
   85 # define URI_INLINE __forceinline
   86 #elif defined(_MSC_VER)
   87 /* Microsoft Visual C++ */
   88 /* http://predef.sourceforge.net/precomp.html#sec32 */
   89 /* http://msdn2.microsoft.com/en-us/library/ms882281.aspx */
   90 # define URI_INLINE __forceinline
   91 #elif (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))
   92 /* C99, "inline" is a keyword */
   93 # define URI_INLINE inline
   94 #else
   95 /* No inlining */
   96 # define URI_INLINE
   97 #endif
   98 
   99 
  100 
  101 #endif /* URI_DEFS_CONFIG_H */