[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#9956: Linux program "sum"
From: |
Jim Meyering |
Subject: |
bug#9956: Linux program "sum" |
Date: |
Sun, 06 Nov 2011 14:12:56 +0100 |
Pádraig Brady wrote:
> On 11/04/2011 06:37 PM, Rodney Rieck wrote:
>> Hello,
>>
>> This is about the Linux program "sum" that computes checksums and
>> number of blocks in a file. I'm not writing about a program error I've
>> found -- I am writing about how the output from the program is
>> formatted.
>>
>> If you type in something like this: sum -r *
>>
>> and if there are multiple files present in the current directory, you
>> will get output like this for each file it checks:
>>
>> [check_sum] [number_of_blocks] [file_name]
>>
>> If though on the command line you change the "*" to a single file name,
>> the output is the same except that it doesn't print/display the
>> "[file_name]", I guess because that seems redundant because the file
>> name is already known and was typed in on the command line.
>
> I consider that a bug.
> freebsd always outputs the file name for example.
> This means that if you do `find -type f | xargs sum`,
> the last entry could be without a file name.
>
> Now we can't change without consideration for backwards compat,
> though I'd be inclined to fix this inconsistency.
The existing behavior is compatible with that of UCB sum,
and -r (the default) selects BSD compatibility:
solaris10$ : > k && /usr/ucb/sum k
00000 0
solaris10$ /usr/ucb/sum k k
00000 0 k
00000 0 k
Since GNU sum's raison d'etre is compatibility, I'd have a hard
time justifying a change that would render it incompatible.