diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2022-01-08 11:51:07 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2022-01-08 11:51:07 +0100 |
commit | be8efac78d067c138ad8dda03df4336e73f94887 (patch) | |
tree | 5f5254a628ba0ef72065b93d949d1c985742ea8e /lib/iconv.in.h | |
parent | 7b65dbd4ebade81d504cfe5e681292a58ad1fdf0 (diff) |
New upstream version 1.0upstream/1.0
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@ |