Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _GL_STRINGS_H
00023
00024 #if __GNUC__ >= 3
00025 #pragma GCC system_header
00026 #endif
00027
00028
00029
00030 #include_next <strings.h>
00031
00032 #ifndef _GL_STRINGS_H
00033 #define _GL_STRINGS_H
00034
00035
00036
00037
00038
00039
00040 #ifndef _GL_ARG_NONNULL
00041 # if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
00042 # define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
00043 # else
00044 # define _GL_ARG_NONNULL(params)
00045 # endif
00046 #endif
00047
00048
00049 #ifndef _GL_WARN_ON_USE
00050
00051 # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
00052
00053 # define _GL_WARN_ON_USE(function, message) \
00054 extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
00055 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
00056
00057 # define _GL_WARN_ON_USE(function, message) \
00058 extern __typeof__ (function) function
00059 # else
00060 # define _GL_WARN_ON_USE(function, message) \
00061 _GL_WARN_EXTERN_C int _gl_warn_on_use
00062 # endif
00063 #endif
00064
00065
00066
00067
00068
00069
00070
00071 #ifndef _GL_WARN_ON_USE_CXX
00072 # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
00073 # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
00074 extern rettype function parameters_and_attributes \
00075 __attribute__ ((__warning__ (msg)))
00076 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
00077
00078 # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
00079 extern rettype function parameters_and_attributes
00080 # else
00081 # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
00082 _GL_WARN_EXTERN_C int _gl_warn_on_use
00083 # endif
00084 #endif
00085
00086
00087
00088 #ifndef _GL_WARN_EXTERN_C
00089 # if defined __cplusplus
00090 # define _GL_WARN_EXTERN_C extern "C"
00091 # else
00092 # define _GL_WARN_EXTERN_C extern
00093 # endif
00094 #endif
00095
00096 #ifdef __cplusplus
00097 extern "C" {
00098 #endif
00099
00100
00101
00102
00103
00104
00105 #if ! 1
00106 extern int strcasecmp (char const *s1, char const *s2)
00107 _GL_ARG_NONNULL ((1, 2));
00108 #endif
00109 #if defined GNULIB_POSIXCHECK
00110
00111
00112
00113 # undef strcasecmp
00114 # if HAVE_RAW_DECL_STRCASECMP
00115 _GL_WARN_ON_USE (strcasecmp, "strcasecmp cannot work correctly on character "
00116 "strings in multibyte locales - "
00117 "use mbscasecmp if you care about "
00118 "internationalization, or use c_strcasecmp , "
00119 "gnulib module c-strcase) if you want a locale "
00120 "independent function");
00121 # endif
00122 #endif
00123
00124
00125
00126
00127
00128 #if ! 1
00129 extern int strncasecmp (char const *s1, char const *s2, size_t n)
00130 _GL_ARG_NONNULL ((1, 2));
00131 #endif
00132 #if defined GNULIB_POSIXCHECK
00133
00134
00135
00136 # undef strncasecmp
00137 # if HAVE_RAW_DECL_STRNCASECMP
00138 _GL_WARN_ON_USE (strncasecmp, "strncasecmp cannot work correctly on character "
00139 "strings in multibyte locales - "
00140 "use mbsncasecmp or mbspcasecmp if you care about "
00141 "internationalization, or use c_strncasecmp , "
00142 "gnulib module c-strcase) if you want a locale "
00143 "independent function");
00144 # endif
00145 #endif
00146
00147
00148 #ifdef __cplusplus
00149 }
00150 #endif
00151
00152 #endif
00153 #endif