From roberte@ghost.mep.ruhr-uni-bochum.de  Mon Sep 23 17:45:09 1996
Received: from ghost.mep.ruhr-uni-bochum.de (ghost.mep.ruhr-uni-bochum.de [134.147.6.16])
          by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id RAA28823
          for <FreeBSD-gnats-submit@freebsd.org>; Mon, 23 Sep 1996 17:44:31 -0700 (PDT)
Received: (from roberte@localhost) by ghost.mep.ruhr-uni-bochum.de (8.7.5/8.7.3) id CAA01605; Tue, 24 Sep 1996 02:44:17 +0200 (MET DST)
Message-Id: <199609240044.CAA01605@ghost.mep.ruhr-uni-bochum.de>
Date: Tue, 24 Sep 1996 02:44:17 +0200 (MET DST)
From: Robert Eckardt <roberte@mep.ruhr-uni-bochum.de>
Reply-To: roberte@mep.ruhr-uni-bochum.de
To: FreeBSD-gnats-submit@freebsd.org
Subject: sh's printf is broken
X-Send-Pr-Version: 3.2

>Number:         1673
>Category:       bin
>Synopsis:       sh's printf is broken
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    steve
>State:          closed
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Sep 23 17:50:02 PDT 1996
>Closed-Date:    Mon Sep 30 20:16:02 PDT 1996
>Last-Modified:  Mon Sep 30 22:10:02 PDT 1996
>Originator:     Robert Eckardt
>Release:        FreeBSD 2.1.5-RELEASE i386
>Organization:
Home sweet home
>Environment:

	FreeBSD 2.1.5-RELEASE as from CD

>Description:

	Number conversion of sh's printf is broken.
	sh's printf is meant as a replacement for the external program
	/usr/bin/printf for efficiency.
        For "%04d" leading spaces are printed instead of leading zeros.
        For "%4.2g" the letter 'g' is printed instead of the FP number.

>How-To-Repeat:

	> sh
	$ printf "%04d\n" 1
	   1
	$ /usr/bin/printf "%04d\n" 1
	0001
	$ printf "%4.2g\n" 1.23
	g
	$ /usr/bin/printf "%4.2g\n" 1.23              
	 1.2
	$ 


>Fix:
	
	"To know the error means to know the solution."
	As a temporary fix use /usr/bin/printf via alias:
	alias printf=/usr/bin/printf

	$ printf "%4.2f\n" 1.2
	f
	$ alias printf=/usr/bin/printf
	$ printf "%4.2f\n" 1.2
	1.20
	$ 

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: steve 
State-Changed-When: Mon Sep 30 20:16:02 PDT 1996 
State-Changed-Why:  
Fixed in -current.  It seems sh(1)'s internal printf 
*is* broken, but -current sh(1) uses /usr/bin/printf 
instead. 

From: Peter Wemm <peter@spinner.DIALix.COM>
To: Steve Price <steve@freefall.freebsd.org>
Cc: roberte@mep.ruhr-uni-bochum.de, freebsd-gnats-submit@freefall.freebsd.org
Subject: Re: bin/1673 
Date: Tue, 01 Oct 1996 13:01:46 +0800

 Steve Price wrote:
 > Synopsis: sh's printf is broken
 > 
 > State-Changed-From-To: open->closed
 > State-Changed-By: steve
 > State-Changed-When: Mon Sep 30 20:16:02 PDT 1996
 > State-Changed-Why: 
 > Fixed in -current.  It seems sh(1)'s internal printf
 > *is* broken, but -current sh(1) uses /usr/bin/printf
 > instead.
 
 BTW, I've just made the builtin work, for what it's worth..
 
 Cheers,
 -Peter
 
 
>Unformatted:
