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