On Wednesday, April 15, 2015 11:29:19 AM Adrian Chadd wrote:
> cc1: warnings being treated as errors
> /usr/home/adrian/work/freebsd/embedded/head/src/bin/csh/../../contrib/tcsh/s
> h.func.c: In function 'iconv_catgets':
> /usr/home/adrian/work/freebsd/embedded/head/src/bin/csh/../../contrib/tcsh/s
> h.func.c:2599: warning: passing argument 2 of 'dl_iconv' from incompatible
> pointer type
> 
> -adrian
> 
> On 15 April 2015 at 02:09, Tijl Coosemans <t...@freebsd.org> wrote:
> > Author: tijl
> > Date: Wed Apr 15 09:09:20 2015
> > New Revision: 281550
> > URL: https://svnweb.freebsd.org/changeset/base/281550
> > 
> > Log:
> >   Remove the const qualifier from iconv(3) to comply with POSIX:
> >   http://pubs.opengroup.org/onlinepubs/9699919799/functions/iconv.html
> >   
> >   Adjust all code that calls iconv.

[Massive commit diff quote trimmed]

This is one of those unfortunate things.  A mistake was made during the 
standards process that wasn't caught untill too late.  It was corrected, but 
not until the damage was done.  The short version is that in the posix spec, 
the man page had the wrong type (and made no sense), but the actual code 
definition in the include file spec was correct.

So, a bunch of OS's used the text description as the source of truth.  
Ports/libiconv is one.

Others requested a formal clarification and the posix committee specifically 
said the include file spec (which makes sense) is the correct one and updated 
the man page to match the include file.  Linux glibc uses the correct form.

When I originally pulled the trigger I used the incorrect ports/libiconv form 
because I didn't know any better and regretted it since.

I'm glad the mistake has been fixed.  However, this is a gift that keeps on 
giving.  There will be loose ends like the warning above turning up in odd 
places for some time.  We'll just have to deal with it, a bit of whackamole 
will be required.  :(

-- 
Peter Wemm - pe...@wemm.org; pe...@freebsd.org; pe...@yahoo-inc.com; KI6FJV
UTF-8: for when a ' or ... just won\342\200\231t do\342\200\246

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to