Subject: Re: iconv(3) prototype
To: None <christos@zoulas.com>
From: T.SHIOZAKI <tshiozak@netbsd.org>
List: tech-userlevel
Date: 07/27/2004 16:42:03
> We have:
> 
> size_t
> iconv(iconv_t, const char **restrict, size_t *restrict,
>     char **restrict, size_t *restrict);
> 
> X/Open wants:
> 
> size_t
> iconv(iconv_t, char **restrict, size_t *restrict,
>     char **restrict, size_t *restrict);
> 
> What gives?

To write this part, I referred to Solaris' iconv(3C).
I think Solaris' one is semantically correct, although
this does not follow the specification.

However, I do not intend to oppose the change making sure it to
follow the specification.  In this case, perhaps we should choose
to follow the specification, not semantic correctness, because
the implicit type cast mechanism of C is entirely useless for it
and every POSIX-compliant programs will be rejected.
Unfortunately, it is difficult to avoid such rejection.
(although GNU autoconf handles it well...)

If we decide to change it, we should do it before 2.0 release.


--
Takuya SHIOZAKI