Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 9 Sep 2019 13:55:56 -0400
From: Rich Felker <>
Subject: Re: printf doesn't respect locale

On Mon, Sep 09, 2019 at 06:51:00PM +0200, Szabolcs Nagy wrote:
> * Daniel Schoepe <> [2019-09-09 17:31:01 +0100]:
> > I think I found a discrepancy between musl's behavior and the POSIX standard:
> > 
> > According to the POSIX standard, the decimal separator used when using
> > printf to print floating point numbers should come from the locale
> > (
> > 
> > "The radix character is defined in the current locale (category
> > LC_NUMERIC). In the POSIX locale, or in a locale where the radix
> > character is not defined, the radix character shall default to a
> > <period> ( '.' )."
> > 
> > However, it seems that in musl, a period is always used for printing
> > floating point numbers. For example, the following program prints
> > "12.0" instead of "12,0" (which is printed when using GNU libc):
> musl is posix conform.
> it just only supports LC_NUMERIC locales where the radix
> character is a period.
> if you see a musl based system where LC_NUMERIC is defined
> otherwise then report the issue to the integrator or
> distributor of that system.

I don't understand what that would mean. musl's locale definition
system simply has no way to represent different radix point
characters, so there cant' be such an integration/distribution.


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.