Don Cragun wrote:
> >From: Glenn Fowler <gsf at research.att.com>
> >
> >Don
> >can you clarify
> >for decimal_point and thousands_sep does the standard specify
> >(1) a \0 terminated string?
> >(2) if the value is "\0" then there is no corresponding separator?
> >(3) if the value is "<byte1><byte2>\0" then the separator is <byte1>?
> >thanks
> 
> Glenn,
> This is not an official interpretation of the C99 standard... ;-}
> But, the way I read C99, char *decimal_point and char *thousands_sep
> each point to a single byte character; not to a string having one
> single-byte character followed by a null byte.
> 
> I believe that the wording in the POSIX standard is intended to allow
> the desired processing of these two pointers IF a technical corrigenda
> modifies C99 to make them pointers to strings.

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...).

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)

Reply via email to