diff options
Diffstat (limited to 'lib/iconv.in.h')
| -rw-r--r-- | lib/iconv.in.h | 60 | 
1 files changed, 34 insertions, 26 deletions
| diff --git a/lib/iconv.in.h b/lib/iconv.in.h index 10949965..4c5a31c3 100644 --- a/lib/iconv.in.h +++ b/lib/iconv.in.h @@ -1,28 +1,19 @@  /* A GNU-like <iconv.h>. -   Copyright (C) 2007-2018 Free Software Foundation, Inc. +   Copyright (C) 2007-2022 Free Software Foundation, Inc. -   This program is free software: you can redistribute it and/or -   modify it under the terms of either: +   This file is free software: you can redistribute it and/or modify +   it under the terms of the GNU Lesser General Public License as +   published by the Free Software Foundation; either version 2.1 of the +   License, or (at your option) any later version. -     * the GNU Lesser General Public License as published by the Free -       Software Foundation; either version 3 of the License, or (at your -       option) any later version. - -   or - -     * the GNU General Public License as published by the Free -       Software Foundation; either version 2 of the License, or (at your -       option) any later version. - -   or both in parallel, as here. -   This program is distributed in the hope that it will be useful, +   This file is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -   GNU General Public License for more details. +   GNU Lesser General Public License for more details. -   You should have received a copy of the GNU General Public License -   along with this program; if not, see <https://www.gnu.org/licenses/>.  */ +   You should have received a copy of the GNU Lesser General Public License +   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */  #ifndef _@GUARD_PREFIX@_ICONV_H @@ -61,6 +52,12 @@ _GL_CXXALIAS_SYS (iconv_open, iconv_t,                    (const char *tocode, const char *fromcode));  # endif  _GL_CXXALIASWARN (iconv_open); +#elif defined GNULIB_POSIXCHECK +# undef iconv_open +# if HAVE_RAW_DECL_ICONV_OPEN +_GL_WARN_ON_USE (iconv_open, "iconv_open is not working correctly everywhere - " +                 "use gnulib module iconv for portability"); +# endif  #endif  #if @REPLACE_ICONV_UTF@ @@ -83,22 +80,33 @@ _GL_CXXALIASWARN (iconv_open);  #  endif  _GL_FUNCDECL_RPL (iconv, size_t,                    (iconv_t cd, -                   @ICONV_CONST@ char **inbuf, size_t *inbytesleft, -                   char **outbuf, size_t *outbytesleft)); +                   @ICONV_CONST@ char **restrict inbuf, +                   size_t *restrict inbytesleft, +                   char **restrict outbuf, size_t *restrict outbytesleft));  _GL_CXXALIAS_RPL (iconv, size_t,                    (iconv_t cd, -                   @ICONV_CONST@ char **inbuf, size_t *inbytesleft, -                   char **outbuf, size_t *outbytesleft)); +                   @ICONV_CONST@ char **restrict inbuf, +                   size_t *restrict inbytesleft, +                   char **restrict outbuf, size_t *restrict outbytesleft));  # else -_GL_CXXALIAS_SYS (iconv, size_t, -                  (iconv_t cd, -                   @ICONV_CONST@ char **inbuf, size_t *inbytesleft, -                   char **outbuf, size_t *outbytesleft)); +/* Need to cast, because on some versions of Solaris, ICONV_CONST does +   not have the right value for C++.  */ +_GL_CXXALIAS_SYS_CAST (iconv, size_t, +                       (iconv_t cd, +                        @ICONV_CONST@ char **restrict inbuf, +                        size_t *restrict inbytesleft, +                        char **restrict outbuf, size_t *restrict outbytesleft));  # endif  _GL_CXXALIASWARN (iconv);  # ifndef ICONV_CONST  #  define ICONV_CONST @ICONV_CONST@  # endif +#elif defined GNULIB_POSIXCHECK +# undef iconv +# if HAVE_RAW_DECL_ICONV +_GL_WARN_ON_USE (iconv, "iconv is not working correctly everywhere - " +                 "use gnulib module iconv for portability"); +# endif  #endif  #if @GNULIB_ICONV@ | 
