Blame gl/wchar.in.h

Packit Service 4684c1
/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
Packit Service 4684c1
Packit Service 4684c1
   Copyright (C) 2007-2020 Free Software Foundation, Inc.
Packit Service 4684c1
Packit Service 4684c1
   This program is free software; you can redistribute it and/or modify
Packit Service 4684c1
   it under the terms of the GNU Lesser General Public License as published by
Packit Service 4684c1
   the Free Software Foundation; either version 2.1, or (at your option)
Packit Service 4684c1
   any later version.
Packit Service 4684c1
Packit Service 4684c1
   This program is distributed in the hope that it will be useful,
Packit Service 4684c1
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 4684c1
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service 4684c1
   GNU Lesser General Public License for more details.
Packit Service 4684c1
Packit Service 4684c1
   You should have received a copy of the GNU Lesser General Public License
Packit Service 4684c1
   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
Packit Service 4684c1
Packit Service 4684c1
/* Written by Eric Blake.  */
Packit Service 4684c1
Packit Service 4684c1
/*
Packit Service 4684c1
 * ISO C 99 <wchar.h> for platforms that have issues.
Packit Service 4684c1
 * <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/wchar.h.html>
Packit Service 4684c1
 *
Packit Service 4684c1
 * For now, this just ensures proper prerequisite inclusion order and
Packit Service 4684c1
 * the declaration of wcwidth().
Packit Service 4684c1
 */
Packit Service 4684c1
Packit Service 4684c1
#if __GNUC__ >= 3
Packit Service 4684c1
@PRAGMA_SYSTEM_HEADER@
Packit Service 4684c1
#endif
Packit Service 4684c1
@PRAGMA_COLUMNS@
Packit Service 4684c1
Packit Service 4684c1
#if (((defined __need_mbstate_t || defined __need_wint_t)               \
Packit Service 4684c1
      && !defined __MINGW32__)                                          \
Packit Service 4684c1
     || (defined __hpux                                                 \
Packit Service 4684c1
         && ((defined _INTTYPES_INCLUDED                                \
Packit Service 4684c1
              && !defined _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H)     \
Packit Service 4684c1
             || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H))               \
Packit Service 4684c1
     || (defined __MINGW32__ && defined __STRING_H_SOURCED__)           \
Packit Service 4684c1
     || defined _GL_ALREADY_INCLUDING_WCHAR_H)
Packit Service 4684c1
/* Special invocation convention:
Packit Service 4684c1
   - Inside glibc and uClibc header files, but not MinGW.
Packit Service 4684c1
   - On HP-UX 11.00 we have a sequence of nested includes
Packit Service 4684c1
     <wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
Packit Service 4684c1
     once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
Packit Service 4684c1
     and once directly.  In both situations 'wint_t' is not yet defined,
Packit Service 4684c1
     therefore we cannot provide the function overrides; instead include only
Packit Service 4684c1
     the system's <wchar.h>.
Packit Service 4684c1
   - With MinGW 3.22, when <string.h> includes <wchar.h>, only some part of
Packit Service 4684c1
     <wchar.h> is actually processed, and that doesn't include 'mbstate_t'.
Packit Service 4684c1
   - On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and
Packit Service 4684c1
     the latter includes <wchar.h>.  But here, we have no way to detect whether
Packit Service 4684c1
     <wctype.h> is completely included or is still being included.  */
Packit Service 4684c1
Packit Service 4684c1
#@INCLUDE_NEXT@ @NEXT_WCHAR_H@
Packit Service 4684c1
Packit Service 4684c1
#else
Packit Service 4684c1
/* Normal invocation convention.  */
Packit Service 4684c1
Packit Service 4684c1
#ifndef _@GUARD_PREFIX@_WCHAR_H
Packit Service 4684c1
Packit Service 4684c1
#define _GL_ALREADY_INCLUDING_WCHAR_H
Packit Service 4684c1
Packit Service 4684c1
#if @HAVE_FEATURES_H@
Packit Service 4684c1
# include <features.h> /* for __GLIBC__ */
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
Packit Service 4684c1
   <wchar.h>.
Packit Service 4684c1
   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
Packit Service 4684c1
   included before <wchar.h>.
Packit Service 4684c1
   In some builds of uClibc, <wchar.h> is nonexistent and wchar_t is defined
Packit Service 4684c1
   by <stddef.h>.
Packit Service 4684c1
   But avoid namespace pollution on glibc systems.  */
Packit Service 4684c1
#if !(defined __GLIBC__ && !defined __UCLIBC__)
Packit Service 4684c1
# include <stddef.h>
Packit Service 4684c1
#endif
Packit Service 4684c1
#ifndef __GLIBC__
Packit Service 4684c1
# include <stdio.h>
Packit Service 4684c1
# include <time.h>
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
/* Include the original <wchar.h> if it exists.
Packit Service 4684c1
   Some builds of uClibc lack it.  */
Packit Service 4684c1
/* The include_next requires a split double-inclusion guard.  */
Packit Service 4684c1
#if @HAVE_WCHAR_H@
Packit Service 4684c1
# @INCLUDE_NEXT@ @NEXT_WCHAR_H@
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
#undef _GL_ALREADY_INCLUDING_WCHAR_H
Packit Service 4684c1
Packit Service 4684c1
#ifndef _@GUARD_PREFIX@_WCHAR_H
Packit Service 4684c1
#define _@GUARD_PREFIX@_WCHAR_H
Packit Service 4684c1
Packit Service 4684c1
/* The __attribute__ feature is available in gcc versions 2.5 and later.
Packit Service 4684c1
   The attribute __pure__ was added in gcc 2.96.  */
Packit Service 4684c1
#ifndef _GL_ATTRIBUTE_PURE
Packit Service 4684c1
# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
Packit Service 4684c1
#  define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
Packit Service 4684c1
# else
Packit Service 4684c1
#  define _GL_ATTRIBUTE_PURE /* empty */
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
Packit Service 4684c1
Packit Service 4684c1
/* The definition of _GL_ARG_NONNULL is copied here.  */
Packit Service 4684c1
Packit Service 4684c1
/* The definition of _GL_WARN_ON_USE is copied here.  */
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Define wint_t and WEOF.  (Also done in wctype.in.h.)  */
Packit Service 4684c1
#if !@HAVE_WINT_T@ && !defined wint_t
Packit Service 4684c1
# define wint_t int
Packit Service 4684c1
# ifndef WEOF
Packit Service 4684c1
#  define WEOF -1
Packit Service 4684c1
# endif
Packit Service 4684c1
#else
Packit Service 4684c1
/* mingw and MSVC define wint_t as 'unsigned short' in <crtdefs.h> or
Packit Service 4684c1
   <stddef.h>.  This is too small: ISO C 99 section 7.24.1.(2) says that
Packit Service 4684c1
   wint_t must be "unchanged by default argument promotions".  Override it.  */
Packit Service 4684c1
# if @GNULIB_OVERRIDES_WINT_T@
Packit Service 4684c1
#  if !GNULIB_defined_wint_t
Packit Service 4684c1
#   if @HAVE_CRTDEFS_H@
Packit Service 4684c1
#    include <crtdefs.h>
Packit Service 4684c1
#   else
Packit Service 4684c1
#    include <stddef.h>
Packit Service 4684c1
#   endif
Packit Service 4684c1
typedef unsigned int rpl_wint_t;
Packit Service 4684c1
#   undef wint_t
Packit Service 4684c1
#   define wint_t rpl_wint_t
Packit Service 4684c1
#   define GNULIB_defined_wint_t 1
Packit Service 4684c1
#  endif
Packit Service 4684c1
# endif
Packit Service 4684c1
# ifndef WEOF
Packit Service 4684c1
#  define WEOF ((wint_t) -1)
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Override mbstate_t if it is too small.
Packit Service 4684c1
   On IRIX 6.5, sizeof (mbstate_t) == 1, which is not sufficient for
Packit Service 4684c1
   implementing mbrtowc for encodings like UTF-8.
Packit Service 4684c1
   On AIX and MSVC, mbrtowc needs to be overridden, but mbstate_t exists and is
Packit Service 4684c1
   large enough and overriding it would cause problems in C++ mode.  */
Packit Service 4684c1
#if !(((defined _WIN32 && !defined __CYGWIN__) || @HAVE_MBSINIT@) && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@
Packit Service 4684c1
# if !GNULIB_defined_mbstate_t
Packit Service 4684c1
#  if !(defined _AIX || defined _MSC_VER)
Packit Service 4684c1
typedef int rpl_mbstate_t;
Packit Service 4684c1
#   undef mbstate_t
Packit Service 4684c1
#   define mbstate_t rpl_mbstate_t
Packit Service 4684c1
#  endif
Packit Service 4684c1
#  define GNULIB_defined_mbstate_t 1
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Convert a single-byte character to a wide character.  */
Packit Service 4684c1
#if @GNULIB_BTOWC@
Packit Service 4684c1
# if @REPLACE_BTOWC@
Packit Service 4684c1
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service 4684c1
#   undef btowc
Packit Service 4684c1
#   define btowc rpl_btowc
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_FUNCDECL_RPL (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
_GL_CXXALIAS_RPL (btowc, wint_t, (int c));
Packit Service 4684c1
# else
Packit Service 4684c1
#  if !@HAVE_BTOWC@
Packit Service 4684c1
_GL_FUNCDECL_SYS (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
#  endif
Packit Service 4684c1
/* Need to cast, because on mingw, the return type is 'unsigned short'.  */
Packit Service 4684c1
_GL_CXXALIAS_SYS_CAST (btowc, wint_t, (int c));
Packit Service 4684c1
# endif
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (btowc);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef btowc
Packit Service 4684c1
# if HAVE_RAW_DECL_BTOWC
Packit Service 4684c1
_GL_WARN_ON_USE (btowc, "btowc is unportable - "
Packit Service 4684c1
                 "use gnulib module btowc for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Convert a wide character to a single-byte character.  */
Packit Service 4684c1
#if @GNULIB_WCTOB@
Packit Service 4684c1
# if @REPLACE_WCTOB@
Packit Service 4684c1
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service 4684c1
#   undef wctob
Packit Service 4684c1
#   define wctob rpl_wctob
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_FUNCDECL_RPL (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
_GL_CXXALIAS_RPL (wctob, int, (wint_t wc));
Packit Service 4684c1
# else
Packit Service 4684c1
#  if !defined wctob && !@HAVE_DECL_WCTOB@
Packit Service 4684c1
/* wctob is provided by gnulib, or wctob exists but is not declared.  */
Packit Service 4684c1
_GL_FUNCDECL_SYS (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wctob, int, (wint_t wc));
Packit Service 4684c1
# endif
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wctob);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wctob
Packit Service 4684c1
# if HAVE_RAW_DECL_WCTOB
Packit Service 4684c1
_GL_WARN_ON_USE (wctob, "wctob is unportable - "
Packit Service 4684c1
                 "use gnulib module wctob for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Test whether *PS is in the initial state.  */
Packit Service 4684c1
#if @GNULIB_MBSINIT@
Packit Service 4684c1
# if @REPLACE_MBSINIT@
Packit Service 4684c1
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service 4684c1
#   undef mbsinit
Packit Service 4684c1
#   define mbsinit rpl_mbsinit
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_FUNCDECL_RPL (mbsinit, int, (const mbstate_t *ps));
Packit Service 4684c1
_GL_CXXALIAS_RPL (mbsinit, int, (const mbstate_t *ps));
Packit Service 4684c1
# else
Packit Service 4684c1
#  if !@HAVE_MBSINIT@
Packit Service 4684c1
_GL_FUNCDECL_SYS (mbsinit, int, (const mbstate_t *ps));
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (mbsinit, int, (const mbstate_t *ps));
Packit Service 4684c1
# endif
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (mbsinit);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef mbsinit
Packit Service 4684c1
# if HAVE_RAW_DECL_MBSINIT
Packit Service 4684c1
_GL_WARN_ON_USE (mbsinit, "mbsinit is unportable - "
Packit Service 4684c1
                 "use gnulib module mbsinit for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Convert a multibyte character to a wide character.  */
Packit Service 4684c1
#if @GNULIB_MBRTOWC@
Packit Service 4684c1
# if @REPLACE_MBRTOWC@
Packit Service 4684c1
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service 4684c1
#   undef mbrtowc
Packit Service 4684c1
#   define mbrtowc rpl_mbrtowc
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_FUNCDECL_RPL (mbrtowc, size_t,
Packit Service 4684c1
                  (wchar_t *restrict pwc, const char *restrict s, size_t n,
Packit Service 4684c1
                   mbstate_t *restrict ps));
Packit Service 4684c1
_GL_CXXALIAS_RPL (mbrtowc, size_t,
Packit Service 4684c1
                  (wchar_t *restrict pwc, const char *restrict s, size_t n,
Packit Service 4684c1
                   mbstate_t *restrict ps));
Packit Service 4684c1
# else
Packit Service 4684c1
#  if !@HAVE_MBRTOWC@
Packit Service 4684c1
_GL_FUNCDECL_SYS (mbrtowc, size_t,
Packit Service 4684c1
                  (wchar_t *restrict pwc, const char *restrict s, size_t n,
Packit Service 4684c1
                   mbstate_t *restrict ps));
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (mbrtowc, size_t,
Packit Service 4684c1
                  (wchar_t *restrict pwc, const char *restrict s, size_t n,
Packit Service 4684c1
                   mbstate_t *restrict ps));
Packit Service 4684c1
# endif
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (mbrtowc);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef mbrtowc
Packit Service 4684c1
# if HAVE_RAW_DECL_MBRTOWC
Packit Service 4684c1
_GL_WARN_ON_USE (mbrtowc, "mbrtowc is unportable - "
Packit Service 4684c1
                 "use gnulib module mbrtowc for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Recognize a multibyte character.  */
Packit Service 4684c1
#if @GNULIB_MBRLEN@
Packit Service 4684c1
# if @REPLACE_MBRLEN@
Packit Service 4684c1
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service 4684c1
#   undef mbrlen
Packit Service 4684c1
#   define mbrlen rpl_mbrlen
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_FUNCDECL_RPL (mbrlen, size_t,
Packit Service 4684c1
                  (const char *restrict s, size_t n, mbstate_t *restrict ps));
Packit Service 4684c1
_GL_CXXALIAS_RPL (mbrlen, size_t,
Packit Service 4684c1
                  (const char *restrict s, size_t n, mbstate_t *restrict ps));
Packit Service 4684c1
# else
Packit Service 4684c1
#  if !@HAVE_MBRLEN@
Packit Service 4684c1
_GL_FUNCDECL_SYS (mbrlen, size_t,
Packit Service 4684c1
                  (const char *restrict s, size_t n, mbstate_t *restrict ps));
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (mbrlen, size_t,
Packit Service 4684c1
                  (const char *restrict s, size_t n, mbstate_t *restrict ps));
Packit Service 4684c1
# endif
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (mbrlen);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef mbrlen
Packit Service 4684c1
# if HAVE_RAW_DECL_MBRLEN
Packit Service 4684c1
_GL_WARN_ON_USE (mbrlen, "mbrlen is unportable - "
Packit Service 4684c1
                 "use gnulib module mbrlen for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Convert a string to a wide string.  */
Packit Service 4684c1
#if @GNULIB_MBSRTOWCS@
Packit Service 4684c1
# if @REPLACE_MBSRTOWCS@
Packit Service 4684c1
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service 4684c1
#   undef mbsrtowcs
Packit Service 4684c1
#   define mbsrtowcs rpl_mbsrtowcs
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_FUNCDECL_RPL (mbsrtowcs, size_t,
Packit Service 4684c1
                  (wchar_t *restrict dest,
Packit Service 4684c1
                   const char **restrict srcp, size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps)
Packit Service 4684c1
                  _GL_ARG_NONNULL ((2)));
Packit Service 4684c1
_GL_CXXALIAS_RPL (mbsrtowcs, size_t,
Packit Service 4684c1
                  (wchar_t *restrict dest,
Packit Service 4684c1
                   const char **restrict srcp, size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps));
Packit Service 4684c1
# else
Packit Service 4684c1
#  if !@HAVE_MBSRTOWCS@
Packit Service 4684c1
_GL_FUNCDECL_SYS (mbsrtowcs, size_t,
Packit Service 4684c1
                  (wchar_t *restrict dest,
Packit Service 4684c1
                   const char **restrict srcp, size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps)
Packit Service 4684c1
                  _GL_ARG_NONNULL ((2)));
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (mbsrtowcs, size_t,
Packit Service 4684c1
                  (wchar_t *restrict dest,
Packit Service 4684c1
                   const char **restrict srcp, size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps));
Packit Service 4684c1
# endif
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (mbsrtowcs);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef mbsrtowcs
Packit Service 4684c1
# if HAVE_RAW_DECL_MBSRTOWCS
Packit Service 4684c1
_GL_WARN_ON_USE (mbsrtowcs, "mbsrtowcs is unportable - "
Packit Service 4684c1
                 "use gnulib module mbsrtowcs for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Convert a string to a wide string.  */
Packit Service 4684c1
#if @GNULIB_MBSNRTOWCS@
Packit Service 4684c1
# if @REPLACE_MBSNRTOWCS@
Packit Service 4684c1
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service 4684c1
#   undef mbsnrtowcs
Packit Service 4684c1
#   define mbsnrtowcs rpl_mbsnrtowcs
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_FUNCDECL_RPL (mbsnrtowcs, size_t,
Packit Service 4684c1
                  (wchar_t *restrict dest,
Packit Service 4684c1
                   const char **restrict srcp, size_t srclen, size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps)
Packit Service 4684c1
                  _GL_ARG_NONNULL ((2)));
Packit Service 4684c1
_GL_CXXALIAS_RPL (mbsnrtowcs, size_t,
Packit Service 4684c1
                  (wchar_t *restrict dest,
Packit Service 4684c1
                   const char **restrict srcp, size_t srclen, size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps));
Packit Service 4684c1
# else
Packit Service 4684c1
#  if !@HAVE_MBSNRTOWCS@
Packit Service 4684c1
_GL_FUNCDECL_SYS (mbsnrtowcs, size_t,
Packit Service 4684c1
                  (wchar_t *restrict dest,
Packit Service 4684c1
                   const char **restrict srcp, size_t srclen, size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps)
Packit Service 4684c1
                  _GL_ARG_NONNULL ((2)));
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (mbsnrtowcs, size_t,
Packit Service 4684c1
                  (wchar_t *restrict dest,
Packit Service 4684c1
                   const char **restrict srcp, size_t srclen, size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps));
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIASWARN (mbsnrtowcs);
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef mbsnrtowcs
Packit Service 4684c1
# if HAVE_RAW_DECL_MBSNRTOWCS
Packit Service 4684c1
_GL_WARN_ON_USE (mbsnrtowcs, "mbsnrtowcs is unportable - "
Packit Service 4684c1
                 "use gnulib module mbsnrtowcs for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Convert a wide character to a multibyte character.  */
Packit Service 4684c1
#if @GNULIB_WCRTOMB@
Packit Service 4684c1
# if @REPLACE_WCRTOMB@
Packit Service 4684c1
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service 4684c1
#   undef wcrtomb
Packit Service 4684c1
#   define wcrtomb rpl_wcrtomb
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_FUNCDECL_RPL (wcrtomb, size_t,
Packit Service 4684c1
                  (char *restrict s, wchar_t wc, mbstate_t *restrict ps));
Packit Service 4684c1
_GL_CXXALIAS_RPL (wcrtomb, size_t,
Packit Service 4684c1
                  (char *restrict s, wchar_t wc, mbstate_t *restrict ps));
Packit Service 4684c1
# else
Packit Service 4684c1
#  if !@HAVE_WCRTOMB@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcrtomb, size_t,
Packit Service 4684c1
                  (char *restrict s, wchar_t wc, mbstate_t *restrict ps));
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcrtomb, size_t,
Packit Service 4684c1
                  (char *restrict s, wchar_t wc, mbstate_t *restrict ps));
Packit Service 4684c1
# endif
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcrtomb);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcrtomb
Packit Service 4684c1
# if HAVE_RAW_DECL_WCRTOMB
Packit Service 4684c1
_GL_WARN_ON_USE (wcrtomb, "wcrtomb is unportable - "
Packit Service 4684c1
                 "use gnulib module wcrtomb for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Convert a wide string to a string.  */
Packit Service 4684c1
#if @GNULIB_WCSRTOMBS@
Packit Service 4684c1
# if @REPLACE_WCSRTOMBS@
Packit Service 4684c1
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service 4684c1
#   undef wcsrtombs
Packit Service 4684c1
#   define wcsrtombs rpl_wcsrtombs
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_FUNCDECL_RPL (wcsrtombs, size_t,
Packit Service 4684c1
                  (char *restrict dest, const wchar_t **restrict srcp,
Packit Service 4684c1
                   size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps)
Packit Service 4684c1
                  _GL_ARG_NONNULL ((2)));
Packit Service 4684c1
_GL_CXXALIAS_RPL (wcsrtombs, size_t,
Packit Service 4684c1
                  (char *restrict dest, const wchar_t **restrict srcp,
Packit Service 4684c1
                   size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps));
Packit Service 4684c1
# else
Packit Service 4684c1
#  if !@HAVE_WCSRTOMBS@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcsrtombs, size_t,
Packit Service 4684c1
                  (char *restrict dest, const wchar_t **restrict srcp,
Packit Service 4684c1
                   size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps)
Packit Service 4684c1
                  _GL_ARG_NONNULL ((2)));
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcsrtombs, size_t,
Packit Service 4684c1
                  (char *restrict dest, const wchar_t **restrict srcp,
Packit Service 4684c1
                   size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps));
Packit Service 4684c1
# endif
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcsrtombs);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcsrtombs
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSRTOMBS
Packit Service 4684c1
_GL_WARN_ON_USE (wcsrtombs, "wcsrtombs is unportable - "
Packit Service 4684c1
                 "use gnulib module wcsrtombs for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Convert a wide string to a string.  */
Packit Service 4684c1
#if @GNULIB_WCSNRTOMBS@
Packit Service 4684c1
# if @REPLACE_WCSNRTOMBS@
Packit Service 4684c1
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service 4684c1
#   undef wcsnrtombs
Packit Service 4684c1
#   define wcsnrtombs rpl_wcsnrtombs
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_FUNCDECL_RPL (wcsnrtombs, size_t,
Packit Service 4684c1
                  (char *restrict dest,
Packit Service 4684c1
                   const wchar_t **restrict srcp, size_t srclen,
Packit Service 4684c1
                   size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps)
Packit Service 4684c1
                  _GL_ARG_NONNULL ((2)));
Packit Service 4684c1
_GL_CXXALIAS_RPL (wcsnrtombs, size_t,
Packit Service 4684c1
                  (char *restrict dest,
Packit Service 4684c1
                   const wchar_t **restrict srcp, size_t srclen,
Packit Service 4684c1
                   size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps));
Packit Service 4684c1
# else
Packit Service 4684c1
#  if !@HAVE_WCSNRTOMBS@ || (defined __cplusplus && defined __sun)
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcsnrtombs, size_t,
Packit Service 4684c1
                  (char *restrict dest,
Packit Service 4684c1
                   const wchar_t **restrict srcp, size_t srclen,
Packit Service 4684c1
                   size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps)
Packit Service 4684c1
                  _GL_ARG_NONNULL ((2)));
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcsnrtombs, size_t,
Packit Service 4684c1
                  (char *restrict dest,
Packit Service 4684c1
                   const wchar_t **restrict srcp, size_t srclen,
Packit Service 4684c1
                   size_t len,
Packit Service 4684c1
                   mbstate_t *restrict ps));
Packit Service 4684c1
# endif
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcsnrtombs);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcsnrtombs
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSNRTOMBS
Packit Service 4684c1
_GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - "
Packit Service 4684c1
                 "use gnulib module wcsnrtombs for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Return the number of screen columns needed for WC.  */
Packit Service 4684c1
#if @GNULIB_WCWIDTH@
Packit Service 4684c1
# if @REPLACE_WCWIDTH@
Packit Service 4684c1
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service 4684c1
#   undef wcwidth
Packit Service 4684c1
#   define wcwidth rpl_wcwidth
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
_GL_CXXALIAS_RPL (wcwidth, int, (wchar_t));
Packit Service 4684c1
# else
Packit Service 4684c1
#  if !@HAVE_DECL_WCWIDTH@
Packit Service 4684c1
/* wcwidth exists but is not declared.  */
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcwidth, int, (wchar_t));
Packit Service 4684c1
# endif
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcwidth);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcwidth
Packit Service 4684c1
# if HAVE_RAW_DECL_WCWIDTH
Packit Service 4684c1
_GL_WARN_ON_USE (wcwidth, "wcwidth is unportable - "
Packit Service 4684c1
                 "use gnulib module wcwidth for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Search N wide characters of S for C.  */
Packit Service 4684c1
#if @GNULIB_WMEMCHR@
Packit Service 4684c1
# if !@HAVE_WMEMCHR@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n)
Packit Service 4684c1
                                      _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
# endif
Packit Service 4684c1
  /* On some systems, this function is defined as an overloaded function:
Packit Service 4684c1
       extern "C++" {
Packit Service 4684c1
         const wchar_t * std::wmemchr (const wchar_t *, wchar_t, size_t);
Packit Service 4684c1
         wchar_t * std::wmemchr (wchar_t *, wchar_t, size_t);
Packit Service 4684c1
       }  */
Packit Service 4684c1
_GL_CXXALIAS_SYS_CAST2 (wmemchr,
Packit Service 4684c1
                        wchar_t *, (const wchar_t *, wchar_t, size_t),
Packit Service 4684c1
                        const wchar_t *, (const wchar_t *, wchar_t, size_t));
Packit Service 4684c1
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
Packit Service 4684c1
     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
Packit Service 4684c1
_GL_CXXALIASWARN1 (wmemchr, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
Packit Service 4684c1
_GL_CXXALIASWARN1 (wmemchr, const wchar_t *,
Packit Service 4684c1
                   (const wchar_t *s, wchar_t c, size_t n));
Packit Service 4684c1
# elif __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wmemchr);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wmemchr
Packit Service 4684c1
# if HAVE_RAW_DECL_WMEMCHR
Packit Service 4684c1
_GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - "
Packit Service 4684c1
                 "use gnulib module wmemchr for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Compare N wide characters of S1 and S2.  */
Packit Service 4684c1
#if @GNULIB_WMEMCMP@
Packit Service 4684c1
# if !@HAVE_WMEMCMP@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wmemcmp, int,
Packit Service 4684c1
                  (const wchar_t *s1, const wchar_t *s2, size_t n)
Packit Service 4684c1
                  _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wmemcmp, int,
Packit Service 4684c1
                  (const wchar_t *s1, const wchar_t *s2, size_t n));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wmemcmp);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wmemcmp
Packit Service 4684c1
# if HAVE_RAW_DECL_WMEMCMP
Packit Service 4684c1
_GL_WARN_ON_USE (wmemcmp, "wmemcmp is unportable - "
Packit Service 4684c1
                 "use gnulib module wmemcmp for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Copy N wide characters of SRC to DEST.  */
Packit Service 4684c1
#if @GNULIB_WMEMCPY@
Packit Service 4684c1
# if !@HAVE_WMEMCPY@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wmemcpy, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict dest,
Packit Service 4684c1
                   const wchar_t *restrict src, size_t n));
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wmemcpy, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict dest,
Packit Service 4684c1
                   const wchar_t *restrict src, size_t n));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wmemcpy);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wmemcpy
Packit Service 4684c1
# if HAVE_RAW_DECL_WMEMCPY
Packit Service 4684c1
_GL_WARN_ON_USE (wmemcpy, "wmemcpy is unportable - "
Packit Service 4684c1
                 "use gnulib module wmemcpy for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Copy N wide characters of SRC to DEST, guaranteeing correct behavior for
Packit Service 4684c1
   overlapping memory areas.  */
Packit Service 4684c1
#if @GNULIB_WMEMMOVE@
Packit Service 4684c1
# if !@HAVE_WMEMMOVE@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wmemmove, wchar_t *,
Packit Service 4684c1
                  (wchar_t *dest, const wchar_t *src, size_t n));
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wmemmove, wchar_t *,
Packit Service 4684c1
                  (wchar_t *dest, const wchar_t *src, size_t n));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wmemmove);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wmemmove
Packit Service 4684c1
# if HAVE_RAW_DECL_WMEMMOVE
Packit Service 4684c1
_GL_WARN_ON_USE (wmemmove, "wmemmove is unportable - "
Packit Service 4684c1
                 "use gnulib module wmemmove for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Set N wide characters of S to C.  */
Packit Service 4684c1
#if @GNULIB_WMEMSET@
Packit Service 4684c1
# if !@HAVE_WMEMSET@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wmemset);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wmemset
Packit Service 4684c1
# if HAVE_RAW_DECL_WMEMSET
Packit Service 4684c1
_GL_WARN_ON_USE (wmemset, "wmemset is unportable - "
Packit Service 4684c1
                 "use gnulib module wmemset for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Return the number of wide characters in S.  */
Packit Service 4684c1
#if @GNULIB_WCSLEN@
Packit Service 4684c1
# if !@HAVE_WCSLEN@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s) _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcslen, size_t, (const wchar_t *s));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcslen);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcslen
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSLEN
Packit Service 4684c1
_GL_WARN_ON_USE (wcslen, "wcslen is unportable - "
Packit Service 4684c1
                 "use gnulib module wcslen for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Return the number of wide characters in S, but at most MAXLEN.  */
Packit Service 4684c1
#if @GNULIB_WCSNLEN@
Packit Service 4684c1
# if !@HAVE_WCSNLEN@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen)
Packit Service 4684c1
                                   _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
Packit Service 4684c1
_GL_CXXALIASWARN (wcsnlen);
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcsnlen
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSNLEN
Packit Service 4684c1
_GL_WARN_ON_USE (wcsnlen, "wcsnlen is unportable - "
Packit Service 4684c1
                 "use gnulib module wcsnlen for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Copy SRC to DEST.  */
Packit Service 4684c1
#if @GNULIB_WCSCPY@
Packit Service 4684c1
# if !@HAVE_WCSCPY@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcscpy, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict dest, const wchar_t *restrict src));
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcscpy, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict dest, const wchar_t *restrict src));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcscpy);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcscpy
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSCPY
Packit Service 4684c1
_GL_WARN_ON_USE (wcscpy, "wcscpy is unportable - "
Packit Service 4684c1
                 "use gnulib module wcscpy for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Copy SRC to DEST, returning the address of the terminating L'\0' in DEST.  */
Packit Service 4684c1
#if @GNULIB_WCPCPY@
Packit Service 4684c1
# if !@HAVE_WCPCPY@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcpcpy, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict dest, const wchar_t *restrict src));
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcpcpy, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict dest, const wchar_t *restrict src));
Packit Service 4684c1
_GL_CXXALIASWARN (wcpcpy);
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcpcpy
Packit Service 4684c1
# if HAVE_RAW_DECL_WCPCPY
Packit Service 4684c1
_GL_WARN_ON_USE (wcpcpy, "wcpcpy is unportable - "
Packit Service 4684c1
                 "use gnulib module wcpcpy for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Copy no more than N wide characters of SRC to DEST.  */
Packit Service 4684c1
#if @GNULIB_WCSNCPY@
Packit Service 4684c1
# if !@HAVE_WCSNCPY@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcsncpy, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict dest,
Packit Service 4684c1
                   const wchar_t *restrict src, size_t n));
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcsncpy, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict dest,
Packit Service 4684c1
                   const wchar_t *restrict src, size_t n));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcsncpy);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcsncpy
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSNCPY
Packit Service 4684c1
_GL_WARN_ON_USE (wcsncpy, "wcsncpy is unportable - "
Packit Service 4684c1
                 "use gnulib module wcsncpy for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Copy no more than N characters of SRC to DEST, returning the address of
Packit Service 4684c1
   the last character written into DEST.  */
Packit Service 4684c1
#if @GNULIB_WCPNCPY@
Packit Service 4684c1
# if !@HAVE_WCPNCPY@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcpncpy, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict dest,
Packit Service 4684c1
                   const wchar_t *restrict src, size_t n));
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcpncpy, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict dest,
Packit Service 4684c1
                   const wchar_t *restrict src, size_t n));
Packit Service 4684c1
_GL_CXXALIASWARN (wcpncpy);
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcpncpy
Packit Service 4684c1
# if HAVE_RAW_DECL_WCPNCPY
Packit Service 4684c1
_GL_WARN_ON_USE (wcpncpy, "wcpncpy is unportable - "
Packit Service 4684c1
                 "use gnulib module wcpncpy for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Append SRC onto DEST.  */
Packit Service 4684c1
#if @GNULIB_WCSCAT@
Packit Service 4684c1
# if !@HAVE_WCSCAT@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcscat, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict dest, const wchar_t *restrict src));
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcscat, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict dest, const wchar_t *restrict src));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcscat);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcscat
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSCAT
Packit Service 4684c1
_GL_WARN_ON_USE (wcscat, "wcscat is unportable - "
Packit Service 4684c1
                 "use gnulib module wcscat for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Append no more than N wide characters of SRC onto DEST.  */
Packit Service 4684c1
#if @GNULIB_WCSNCAT@
Packit Service 4684c1
# if !@HAVE_WCSNCAT@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcsncat, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict dest, const wchar_t *restrict src,
Packit Service 4684c1
                   size_t n));
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcsncat, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict dest, const wchar_t *restrict src,
Packit Service 4684c1
                   size_t n));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcsncat);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcsncat
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSNCAT
Packit Service 4684c1
_GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - "
Packit Service 4684c1
                 "use gnulib module wcsncat for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Compare S1 and S2.  */
Packit Service 4684c1
#if @GNULIB_WCSCMP@
Packit Service 4684c1
# if !@HAVE_WCSCMP@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)
Packit Service 4684c1
                               _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcscmp);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcscmp
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSCMP
Packit Service 4684c1
_GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - "
Packit Service 4684c1
                 "use gnulib module wcscmp for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Compare no more than N wide characters of S1 and S2.  */
Packit Service 4684c1
#if @GNULIB_WCSNCMP@
Packit Service 4684c1
# if !@HAVE_WCSNCMP@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcsncmp, int,
Packit Service 4684c1
                  (const wchar_t *s1, const wchar_t *s2, size_t n)
Packit Service 4684c1
                  _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcsncmp, int,
Packit Service 4684c1
                  (const wchar_t *s1, const wchar_t *s2, size_t n));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcsncmp);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcsncmp
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSNCMP
Packit Service 4684c1
_GL_WARN_ON_USE (wcsncmp, "wcsncmp is unportable - "
Packit Service 4684c1
                 "use gnulib module wcsncmp for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Compare S1 and S2, ignoring case.  */
Packit Service 4684c1
#if @GNULIB_WCSCASECMP@
Packit Service 4684c1
# if !@HAVE_WCSCASECMP@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2)
Packit Service 4684c1
                                   _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
Packit Service 4684c1
_GL_CXXALIASWARN (wcscasecmp);
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcscasecmp
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSCASECMP
Packit Service 4684c1
_GL_WARN_ON_USE (wcscasecmp, "wcscasecmp is unportable - "
Packit Service 4684c1
                 "use gnulib module wcscasecmp for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Compare no more than N chars of S1 and S2, ignoring case.  */
Packit Service 4684c1
#if @GNULIB_WCSNCASECMP@
Packit Service 4684c1
# if !@HAVE_WCSNCASECMP@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcsncasecmp, int,
Packit Service 4684c1
                  (const wchar_t *s1, const wchar_t *s2, size_t n)
Packit Service 4684c1
                  _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcsncasecmp, int,
Packit Service 4684c1
                  (const wchar_t *s1, const wchar_t *s2, size_t n));
Packit Service 4684c1
_GL_CXXALIASWARN (wcsncasecmp);
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcsncasecmp
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSNCASECMP
Packit Service 4684c1
_GL_WARN_ON_USE (wcsncasecmp, "wcsncasecmp is unportable - "
Packit Service 4684c1
                 "use gnulib module wcsncasecmp for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Compare S1 and S2, both interpreted as appropriate to the LC_COLLATE
Packit Service 4684c1
   category of the current locale.  */
Packit Service 4684c1
#if @GNULIB_WCSCOLL@
Packit Service 4684c1
# if !@HAVE_WCSCOLL@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcscoll);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcscoll
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSCOLL
Packit Service 4684c1
_GL_WARN_ON_USE (wcscoll, "wcscoll is unportable - "
Packit Service 4684c1
                 "use gnulib module wcscoll for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Transform S2 into array pointed to by S1 such that if wcscmp is applied
Packit Service 4684c1
   to two transformed strings the result is the as applying 'wcscoll' to the
Packit Service 4684c1
   original strings.  */
Packit Service 4684c1
#if @GNULIB_WCSXFRM@
Packit Service 4684c1
# if !@HAVE_WCSXFRM@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcsxfrm, size_t,
Packit Service 4684c1
                  (wchar_t *restrict s1, const wchar_t *restrict s2, size_t n));
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcsxfrm, size_t,
Packit Service 4684c1
                  (wchar_t *restrict s1, const wchar_t *restrict s2, size_t n));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcsxfrm);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcsxfrm
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSXFRM
Packit Service 4684c1
_GL_WARN_ON_USE (wcsxfrm, "wcsxfrm is unportable - "
Packit Service 4684c1
                 "use gnulib module wcsxfrm for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Duplicate S, returning an identical malloc'd string.  */
Packit Service 4684c1
#if @GNULIB_WCSDUP@
Packit Service 4684c1
# if !@HAVE_WCSDUP@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcsdup, wchar_t *, (const wchar_t *s));
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s));
Packit Service 4684c1
_GL_CXXALIASWARN (wcsdup);
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcsdup
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSDUP
Packit Service 4684c1
_GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - "
Packit Service 4684c1
                 "use gnulib module wcsdup for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Find the first occurrence of WC in WCS.  */
Packit Service 4684c1
#if @GNULIB_WCSCHR@
Packit Service 4684c1
# if !@HAVE_WCSCHR@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc)
Packit Service 4684c1
                                     _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
# endif
Packit Service 4684c1
  /* On some systems, this function is defined as an overloaded function:
Packit Service 4684c1
       extern "C++" {
Packit Service 4684c1
         const wchar_t * std::wcschr (const wchar_t *, wchar_t);
Packit Service 4684c1
         wchar_t * std::wcschr (wchar_t *, wchar_t);
Packit Service 4684c1
       }  */
Packit Service 4684c1
_GL_CXXALIAS_SYS_CAST2 (wcschr,
Packit Service 4684c1
                        wchar_t *, (const wchar_t *, wchar_t),
Packit Service 4684c1
                        const wchar_t *, (const wchar_t *, wchar_t));
Packit Service 4684c1
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
Packit Service 4684c1
     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
Packit Service 4684c1
_GL_CXXALIASWARN1 (wcschr, wchar_t *, (wchar_t *wcs, wchar_t wc));
Packit Service 4684c1
_GL_CXXALIASWARN1 (wcschr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
Packit Service 4684c1
# elif __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcschr);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcschr
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSCHR
Packit Service 4684c1
_GL_WARN_ON_USE (wcschr, "wcschr is unportable - "
Packit Service 4684c1
                 "use gnulib module wcschr for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Find the last occurrence of WC in WCS.  */
Packit Service 4684c1
#if @GNULIB_WCSRCHR@
Packit Service 4684c1
# if !@HAVE_WCSRCHR@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc)
Packit Service 4684c1
                                      _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
# endif
Packit Service 4684c1
  /* On some systems, this function is defined as an overloaded function:
Packit Service 4684c1
       extern "C++" {
Packit Service 4684c1
         const wchar_t * std::wcsrchr (const wchar_t *, wchar_t);
Packit Service 4684c1
         wchar_t * std::wcsrchr (wchar_t *, wchar_t);
Packit Service 4684c1
       }  */
Packit Service 4684c1
_GL_CXXALIAS_SYS_CAST2 (wcsrchr,
Packit Service 4684c1
                        wchar_t *, (const wchar_t *, wchar_t),
Packit Service 4684c1
                        const wchar_t *, (const wchar_t *, wchar_t));
Packit Service 4684c1
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
Packit Service 4684c1
     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
Packit Service 4684c1
_GL_CXXALIASWARN1 (wcsrchr, wchar_t *, (wchar_t *wcs, wchar_t wc));
Packit Service 4684c1
_GL_CXXALIASWARN1 (wcsrchr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
Packit Service 4684c1
# elif __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcsrchr);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcsrchr
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSRCHR
Packit Service 4684c1
_GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - "
Packit Service 4684c1
                 "use gnulib module wcsrchr for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Return the length of the initial segmet of WCS which consists entirely
Packit Service 4684c1
   of wide characters not in REJECT.  */
Packit Service 4684c1
#if @GNULIB_WCSCSPN@
Packit Service 4684c1
# if !@HAVE_WCSCSPN@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject)
Packit Service 4684c1
                                   _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcscspn);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcscspn
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSCSPN
Packit Service 4684c1
_GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - "
Packit Service 4684c1
                 "use gnulib module wcscspn for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Return the length of the initial segmet of WCS which consists entirely
Packit Service 4684c1
   of wide characters in ACCEPT.  */
Packit Service 4684c1
#if @GNULIB_WCSSPN@
Packit Service 4684c1
# if !@HAVE_WCSSPN@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept)
Packit Service 4684c1
                                  _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
# endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcsspn);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcsspn
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSSPN
Packit Service 4684c1
_GL_WARN_ON_USE (wcsspn, "wcsspn is unportable - "
Packit Service 4684c1
                 "use gnulib module wcsspn for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Find the first occurrence in WCS of any character in ACCEPT.  */
Packit Service 4684c1
#if @GNULIB_WCSPBRK@
Packit Service 4684c1
# if !@HAVE_WCSPBRK@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcspbrk, wchar_t *,
Packit Service 4684c1
                  (const wchar_t *wcs, const wchar_t *accept)
Packit Service 4684c1
                  _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
# endif
Packit Service 4684c1
  /* On some systems, this function is defined as an overloaded function:
Packit Service 4684c1
       extern "C++" {
Packit Service 4684c1
         const wchar_t * std::wcspbrk (const wchar_t *, const wchar_t *);
Packit Service 4684c1
         wchar_t * std::wcspbrk (wchar_t *, const wchar_t *);
Packit Service 4684c1
       }  */
Packit Service 4684c1
_GL_CXXALIAS_SYS_CAST2 (wcspbrk,
Packit Service 4684c1
                        wchar_t *, (const wchar_t *, const wchar_t *),
Packit Service 4684c1
                        const wchar_t *, (const wchar_t *, const wchar_t *));
Packit Service 4684c1
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
Packit Service 4684c1
     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
Packit Service 4684c1
_GL_CXXALIASWARN1 (wcspbrk, wchar_t *,
Packit Service 4684c1
                   (wchar_t *wcs, const wchar_t *accept));
Packit Service 4684c1
_GL_CXXALIASWARN1 (wcspbrk, const wchar_t *,
Packit Service 4684c1
                   (const wchar_t *wcs, const wchar_t *accept));
Packit Service 4684c1
# elif __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcspbrk);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcspbrk
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSPBRK
Packit Service 4684c1
_GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - "
Packit Service 4684c1
                 "use gnulib module wcspbrk for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Find the first occurrence of NEEDLE in HAYSTACK.  */
Packit Service 4684c1
#if @GNULIB_WCSSTR@
Packit Service 4684c1
# if !@HAVE_WCSSTR@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcsstr, wchar_t *,
Packit Service 4684c1
                  (const wchar_t *restrict haystack,
Packit Service 4684c1
                   const wchar_t *restrict needle)
Packit Service 4684c1
                  _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
# endif
Packit Service 4684c1
  /* On some systems, this function is defined as an overloaded function:
Packit Service 4684c1
       extern "C++" {
Packit Service 4684c1
         const wchar_t * std::wcsstr (const wchar_t *, const wchar_t *);
Packit Service 4684c1
         wchar_t * std::wcsstr (wchar_t *, const wchar_t *);
Packit Service 4684c1
       }  */
Packit Service 4684c1
_GL_CXXALIAS_SYS_CAST2 (wcsstr,
Packit Service 4684c1
                        wchar_t *,
Packit Service 4684c1
                        (const wchar_t *restrict, const wchar_t *restrict),
Packit Service 4684c1
                        const wchar_t *,
Packit Service 4684c1
                        (const wchar_t *restrict, const wchar_t *restrict));
Packit Service 4684c1
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
Packit Service 4684c1
     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
Packit Service 4684c1
_GL_CXXALIASWARN1 (wcsstr, wchar_t *,
Packit Service 4684c1
                   (wchar_t *restrict haystack,
Packit Service 4684c1
                    const wchar_t *restrict needle));
Packit Service 4684c1
_GL_CXXALIASWARN1 (wcsstr, const wchar_t *,
Packit Service 4684c1
                   (const wchar_t *restrict haystack,
Packit Service 4684c1
                    const wchar_t *restrict needle));
Packit Service 4684c1
# elif __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcsstr);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcsstr
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSSTR
Packit Service 4684c1
_GL_WARN_ON_USE (wcsstr, "wcsstr is unportable - "
Packit Service 4684c1
                 "use gnulib module wcsstr for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Divide WCS into tokens separated by characters in DELIM.  */
Packit Service 4684c1
#if @GNULIB_WCSTOK@
Packit Service 4684c1
# if @REPLACE_WCSTOK@
Packit Service 4684c1
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service 4684c1
#   undef wcstok
Packit Service 4684c1
#   define wcstok rpl_wcstok
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_FUNCDECL_RPL (wcstok, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict wcs, const wchar_t *restrict delim,
Packit Service 4684c1
                   wchar_t **restrict ptr));
Packit Service 4684c1
_GL_CXXALIAS_RPL (wcstok, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict wcs, const wchar_t *restrict delim,
Packit Service 4684c1
                   wchar_t **restrict ptr));
Packit Service 4684c1
# else
Packit Service 4684c1
#  if !@HAVE_WCSTOK@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcstok, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict wcs, const wchar_t *restrict delim,
Packit Service 4684c1
                   wchar_t **restrict ptr));
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcstok, wchar_t *,
Packit Service 4684c1
                  (wchar_t *restrict wcs, const wchar_t *restrict delim,
Packit Service 4684c1
                   wchar_t **restrict ptr));
Packit Service 4684c1
# endif
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcstok);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcstok
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSTOK
Packit Service 4684c1
_GL_WARN_ON_USE (wcstok, "wcstok is unportable - "
Packit Service 4684c1
                 "use gnulib module wcstok for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Determine number of column positions required for first N wide
Packit Service 4684c1
   characters (or fewer if S ends before this) in S.  */
Packit Service 4684c1
#if @GNULIB_WCSWIDTH@
Packit Service 4684c1
# if @REPLACE_WCSWIDTH@
Packit Service 4684c1
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service 4684c1
#   undef wcswidth
Packit Service 4684c1
#   define wcswidth rpl_wcswidth
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n)
Packit Service 4684c1
                                 _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
_GL_CXXALIAS_RPL (wcswidth, int, (const wchar_t *s, size_t n));
Packit Service 4684c1
# else
Packit Service 4684c1
#  if !@HAVE_WCSWIDTH@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n)
Packit Service 4684c1
                                 _GL_ATTRIBUTE_PURE);
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcswidth, int, (const wchar_t *s, size_t n));
Packit Service 4684c1
# endif
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcswidth);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcswidth
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSWIDTH
Packit Service 4684c1
_GL_WARN_ON_USE (wcswidth, "wcswidth is unportable - "
Packit Service 4684c1
                 "use gnulib module wcswidth for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
/* Convert *TP to a date and time wide string.  See
Packit Service 4684c1
   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/wcsftime.html>.  */
Packit Service 4684c1
#if @GNULIB_WCSFTIME@
Packit Service 4684c1
# if @REPLACE_WCSFTIME@
Packit Service 4684c1
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service 4684c1
#   undef wcsftime
Packit Service 4684c1
#   define wcsftime rpl_wcsftime
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_FUNCDECL_RPL (wcsftime, size_t,
Packit Service 4684c1
                  (wchar_t *restrict __buf, size_t __bufsize,
Packit Service 4684c1
                   const wchar_t *restrict __fmt,
Packit Service 4684c1
                   const struct tm *restrict __tp)
Packit Service 4684c1
                  _GL_ARG_NONNULL ((1, 3, 4)));
Packit Service 4684c1
_GL_CXXALIAS_RPL (wcsftime, size_t,
Packit Service 4684c1
                  (wchar_t *restrict __buf, size_t __bufsize,
Packit Service 4684c1
                   const wchar_t *restrict __fmt,
Packit Service 4684c1
                   const struct tm *restrict __tp));
Packit Service 4684c1
# else
Packit Service 4684c1
#  if !@HAVE_WCSFTIME@
Packit Service 4684c1
_GL_FUNCDECL_SYS (wcsftime, size_t,
Packit Service 4684c1
                  (wchar_t *restrict __buf, size_t __bufsize,
Packit Service 4684c1
                   const wchar_t *restrict __fmt,
Packit Service 4684c1
                   const struct tm *restrict __tp)
Packit Service 4684c1
                  _GL_ARG_NONNULL ((1, 3, 4)));
Packit Service 4684c1
#  endif
Packit Service 4684c1
_GL_CXXALIAS_SYS (wcsftime, size_t,
Packit Service 4684c1
                  (wchar_t *restrict __buf, size_t __bufsize,
Packit Service 4684c1
                   const wchar_t *restrict __fmt,
Packit Service 4684c1
                   const struct tm *restrict __tp));
Packit Service 4684c1
# endif
Packit Service 4684c1
# if __GLIBC__ >= 2
Packit Service 4684c1
_GL_CXXALIASWARN (wcsftime);
Packit Service 4684c1
# endif
Packit Service 4684c1
#elif defined GNULIB_POSIXCHECK
Packit Service 4684c1
# undef wcsftime
Packit Service 4684c1
# if HAVE_RAW_DECL_WCSFTIME
Packit Service 4684c1
_GL_WARN_ON_USE (wcsftime, "wcsftime is unportable - "
Packit Service 4684c1
                 "use gnulib module wcsftime for portability");
Packit Service 4684c1
# endif
Packit Service 4684c1
#endif
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
#endif /* _@GUARD_PREFIX@_WCHAR_H */
Packit Service 4684c1
#endif /* _@GUARD_PREFIX@_WCHAR_H */
Packit Service 4684c1
#endif