[ksh93-integration-discuss] ksh93 "printf" builtin vs.CR#6558816 ("printf variants behaving incorrectly formultibytedecimal point") ...
Glenn Fowler
gsf at research.att.com
Mon Jan 21 14:35:56 PST 2008
On Fri, 18 Jan 2008 22:55:01 +0100 Roland Mainz wrote:
> Erm... (dumb ?!) question: How are POSIX and C99 related in this case -
> is this a superset, subset or extension-like relationship or is this
> somehow else structured ?
> > It may well be that
> > some implementations provide null terminated strings now, but the C99
> > standard doesn't require that and the POSIX standard doesn't require
> > that; so an application that assumes those pointers point to null
> > terminated strings is not portable.
> Is there a way to file a "clarification request" to the POSIX people and
> ask whether multibyte characters (and therefore the terminating '\0')
> are allowed ? Otherwise we can drop the idea of using any arabic symbols
> for |decimal_point| and |thousands_sep| as described in the original
> posting (see
> http://mail.opensolaris.org/pipermail/ksh93-integration-discuss/2008-January/005855.html)
> and have to live with the ASCII stuff (which is AFAIK a bit end-user
> unfriendly...).
even if the standard lconv were changed to handle multibyte
there would still be the issue of how long it would take
implementations to meet the standard
seeing that there may be different owners for each locale within an implementation
that could take a while
the failure mode is the worst problem here
the standard as it is specifies 1 byte for the entries in question
a user application that attempts to use more than that one byte
could run into who knows what problems attempting to access
bytes beyond the first in compliant posix implementations
More information about the ksh93-integration-discuss
mailing list