Subject: bug#9346: closed (Re: bug#9346: wc does not conform to POSIX (additional spaces))

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 23 Aug 2011 01:11:02 +0000

Your bug report

#9346: wc does not conform to POSIX (additional spaces)

which was filed against the coreutils package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
9346: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9346
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#9346: wc does not conform to POSIX (additional spaces)
From: Pádraig Brady <[email-masked]>
To: Vincent Lefevre <[email-masked]>, [email-masked]
Date: Tue, 23 Aug 2011 02:07:59 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

tags 9346 + notabug

On 08/23/2011 01:39 AM, Vincent Lefevre wrote:
> http://pubs.opengroup.org/onlinepubs/9699919799/utilities/wc.html
> says:
> 
>   STDOUT
> 
>     By default, the standard output shall contain an entry for each
>     input file of the form:
> 
>     "%d %d %d %s\n", <newlines>, <words>, <bytes>, <file>
> 
> But wc from GNU coreutils 8.12 adds spaces:
> 
> $ echo | wc
>       1       0       1
> 
> Setting POSIXLY_CORRECT=1 doesn't even have any effect here.
> 

POSIX refers to the printf format above as a pseudo-printf format,
to contrast with the format used in SYS V of "%7d%7d%7d %s\n".
Notice the lack of spaces there, hence problems with big numbers.
So I take the POSIX printf format you referenced, just to ensure
at least 1 space is guaranteed between counts.
Also for any kind of portability, one will need to deal with
a variable number of spaces.
GNU wc uses a dynamic width (try it on a small file),
while also ensuring at least 1 space is present.

cheers,
Pádraig.

Subject: wc does not conform to POSIX (additional spaces)
From: Vincent Lefevre <[email-masked]>
To: [email-masked]
Date: Tue, 23 Aug 2011 02:39:09 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/wc.html
says:

  STDOUT

    By default, the standard output shall contain an entry for each
    input file of the form:

    "%d %d %d %s\n", <newlines>, <words>, <bytes>, <file>

But wc from GNU coreutils 8.12 adds spaces:

$ echo | wc
      1       0       1

Setting POSIXLY_CORRECT=1 doesn't even have any effect here.

-- 
Vincent Lefèvre <[email-masked]> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)