Bug#113812: libc6: iconv(3) is not unix98 conformant - should take const char** as 2nd argument
reassign 118752 manpages-dev
thanks
> According to UNIX98, the second argument to iconv(3) is a const char**,
> but iconv.h and the man page both indicate that the argument is in
> fact not const, despite the "Conforming to UNIX98" claim in the
> man page.
> /usr/include/iconv.h (and manpage):
>
> extern size_t iconv (iconv_t __cd, char **__restrict __inbuf,
> size_t *__restrict __inbytesleft,
> char **__restrict __outbuf,
> size_t *__restrict __outbytesleft);
>
> spec:
>
> size_t iconv(iconv_t cd, const char **inbuf, size_t *inbytesleft,
> char **outbuf, size_t *outbytesleft);
>
> Note constness of inbuf; this is causing warnings in lots of
> programs.
According to the newer standard SUSv3, prototype iconv(3) is:
#include <iconv.h>
size_t iconv(iconv_t cd, char **restrict inbuf,
size_t *restrict inbytesleft, char **restrict outbuf,
size_t *restrict outbytesleft);
This is manpages bug. I reassign it to manpages-dev.
Regards,
-- gotom
Reply to: