Date: Fri, 25 Apr 2003 08:40:12 -0700 (PDT) From: "Sergey A. Osokin" <osa@freebsd.org.ru> To: freebsd-standards@FreeBSD.org Subject: Re: standards/51292: [PATCH] add ecvt()/fcvt()/gcvt() functions (SUSv3) Message-ID: <200304251540.h3PFeCv4084528@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR standards/51292; it has been noted by GNATS. From: "Sergey A. Osokin" <osa@freebsd.org.ru> To: Alexey Zelkin <phantom@FreeBSD.org.ua> Cc: FreeBSD-gnats-submit@freebsd.org Subject: Re: standards/51292: [PATCH] add ecvt()/fcvt()/gcvt() functions (SUSv3) Date: Fri, 25 Apr 2003 19:33:06 +0400 On Fri, Apr 25, 2003 at 05:02:07PM +0300, Alexey Zelkin wrote: > On Fri, Apr 25, 2003 at 04:32:10PM +0400, Sergey A. Osokin wrote: > > On Fri, Apr 25, 2003 at 03:19:37PM +0300, Alexey Zelkin wrote: > > > On Fri, Apr 25, 2003 at 12:38:51PM +0400, Sergey A. Osokin wrote: > > > > > > > > > >Number: 51292 > > > > > > >Category: standards > > > > > > >Synopsis: [PATCH] add ecvt()/fcvt()/gcvt() functions (SUSv3) > > > > Actually, all these cases should be handled by setlocale() itself. And > > > after call to 'setlocale()' you should use lconv() to receive current > > > radix character. > > > I also would object to using of setlocale() from libc's function internally. > > > > Hmm, but from SUSv3: > > <quote> > > The radix character is determined by the current locale. If > > setlocale() has not been called successfully, the default locale, > > POSIX, is used. The default locale specifies a period > > ( '.' ) as the radix character. > > </quote> > > And what? It does not mean that setlocale() should be called > in *cvt() functions. > > Can you ever count amount of possible problems caused by call to setlocale() > in middle of libc function ? BTW if (setlocale(LC_NUMERIC, NULL) == NULL) { radix = '.'; n_sign = '-'; p_sign = '+'; } else { lc = localeconv(); radix = *lc->decimal_point; n_sign = *lc->negative_sign; p_sign = *lc->positive_sign; } Correct? > > > It's a application's problem to decide which locale to use and [fge]cvt() > > > should use locale previously set by application. > > > > AFAIK only gcvt() have locale-specific "problem". I can't find > > any locale-specific words in documentation of [ef]cvt. Correct > > me if I'm wrong... > > You may find 'radix character' related words there. -- Rgdz, /"\ ASCII RIBBON CAMPAIGN Sergey Osokin aka oZZ, \ / AGAINST HTML MAIL http://ozz.pp.ru/ X AND NEWS / \
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304251540.h3PFeCv4084528>