1/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying 2 file Copyright.txt or https://cmake.org/licensing#kwsys for details. */ 3#ifndef @KWSYS_NAMESPACE@_String_h 4#define @KWSYS_NAMESPACE@_String_h 5 6#include <@KWSYS_NAMESPACE@/Configure.h> 7 8#include <stddef.h> /* size_t */ 9 10/* Redefine all public interface symbol names to be in the proper 11 namespace. These macros are used internally to kwsys only, and are 12 not visible to user code. Use kwsysHeaderDump.pl to reproduce 13 these macros after making changes to the interface. */ 14#if !defined(KWSYS_NAMESPACE) 15# define kwsys_ns(x) @KWSYS_NAMESPACE@##x 16# define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT 17#endif 18#if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS 19# define kwsysString_strcasecmp kwsys_ns(String_strcasecmp) 20# define kwsysString_strncasecmp kwsys_ns(String_strncasecmp) 21#endif 22 23#if defined(__cplusplus) 24extern "C" { 25#endif 26 27/** 28 * Compare two strings ignoring the case of the characters. The 29 * integer returned is negative, zero, or positive if the first string 30 * is found to be less than, equal to, or greater than the second 31 * string, respectively. 32 */ 33kwsysEXPORT int kwsysString_strcasecmp(const char* lhs, const char* rhs); 34 35/** 36 * Identical to String_strcasecmp except that only the first n 37 * characters are considered. 38 */ 39kwsysEXPORT int kwsysString_strncasecmp(const char* lhs, const char* rhs, 40 size_t n); 41 42#if defined(__cplusplus) 43} /* extern "C" */ 44#endif 45 46/* If we are building a kwsys .c or .cxx file, let it use these macros. 47 Otherwise, undefine them to keep the namespace clean. */ 48#if !defined(KWSYS_NAMESPACE) 49# undef kwsys_ns 50# undef kwsysEXPORT 51# if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS 52# undef kwsysString_strcasecmp 53# undef kwsysString_strncasecmp 54# endif 55#endif 56 57#endif 58