[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: built-in printf %f parameter format depend on LC_NUMERIC

From: Dennis Clarke
Subject: Re: built-in printf %f parameter format depend on LC_NUMERIC
Date: Fri, 12 Jul 2019 20:55:28 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.0

On 7/12/19 4:45 PM, Chet Ramey wrote:
On 7/12/19 4:26 PM, Martijn Dekker wrote:
Op 12-07-19 om 21:46 schreef Dennis Clarke:
Well the man page for XPG6 bc in Solaris 10 claims :

       See environ(5) for descriptions of the following environment
       variables  that  affect  the  execution of bc: LANG, LC_ALL,


Note the absence of LC_NUMERIC in that paragraph.

Yeah, but LC_ALL overrides LC_NUMERIC anyway.

I'm checking into the GPL version but I won't be surprised.

The historical bits tell us that GPL bc is "bc" and not "dc" under the covers.

Program: GNU bc
Author: Philip A. Nelson
E-mail: phil@cs.wwu.edu
Copying: GNU GPL version 2
Copyright holder: Free Software Foundation, Inc.
Version: bc version 1.01
Required: vsprintf and vfprintf routines.
Machines: It has been compiled and run on the following environments:
        BSD4.3 (VAX 11)
        MINIX 1.5 (IBM PC, both K&R and ANSI compilers)
        MINIX 1.5 (pc532)
        SUN-OS 4.1 (SUN 3 and SUN 4)
        SVR3V5 (Motorola 68K)
        SVR3.2 (3B2)
        SVR4.0.2 (a 386 box)
        ULTRIX 4.1 (DEC 5000)
        UTS (Amdahl)

bc is an arbitrary precision numeric processing language.  Syntax is
similar to C, but differs in many substantial areas.  It supports
interactive execution of statements.  bc is a utility included in the
POSIX P1003.2/D11 draft standard.

This version was written to be a POSIX compliant bc processor with
several extensions to the draft standard.  Option flags are available
to cause warning or rejection of the extensions to the POSIX standard.
For those who want only POSIX bc with no extensions, a grammar is
provided for exactly the language described in the POSIX document.
The grammar (sbc.y) comes from the POSIX document.  The Makefile
contains rules to make sbc.  (for Standard BC)

Since the POSIX document does not specify how bc must be implemented,
this version does not use the historical method of having bc be a
compiler for the dc calculator.  This version has a single executable
that both compiles the language and runs the a resulting "byte code".
The "byte code" is NOT the dc language.

Also, included in the initial distribution is the library file
vfprintf.c for MINIX systems.  My minix 1.5 did not have this file.
Also, you should verify that vsprintf.c works correctly on your

The extensions add some features I think are missing....

etc etc ..

I'll find it but it will be the same problem.

Dennis Clarke
UNIX and Linux spoken
GreyBeard and suspenders optional

reply via email to

[Prev in Thread] Current Thread [Next in Thread]