GNU bug report logs - #11922
df doesn't handle \n in mount entries appropriately

Previous Next

Package: coreutils;

Reported by: Pádraig Brady <P <at> draigBrady.com>

Date: Thu, 12 Jul 2012 11:57:01 UTC

Severity: normal

Done: Pádraig Brady <P <at> draigBrady.com>

Bug is archived. No further changes may be made.

Full log


Message #20 received at 11922 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 11922 <at> debbugs.gnu.org
Subject: Re: bug#11922: df doesn't handle \n in mount entries appropriately
Date: Fri, 13 Jul 2012 15:57:54 +0100
[Message part 1 (text/plain, inline)]
On 07/12/2012 05:11 PM, Pádraig Brady wrote:
> On 07/12/2012 04:35 PM, Paul Eggert wrote:
>> On 07/12/2012 08:28 AM, Pádraig Brady wrote:
>>> more problematically it would change the output from
>>> the lib
>>
>> Ah, sorry, I was talking only about df's output,
>> independently of how it gets the info from the underlying
>> library.  Surely the C library API should return a string
>> with raw newlines etc. in it, leaving it up to 'df' how to
>> display it?
>>
> 
> Oops, right.
> I misread "with the lower level" as "in the lower level" :)
> 
> So just considering df, the tradeoff is ambiguous
> output in the presence of \n when just escaping \n,
> or unambiguous output which is backwards incompatible
> in the presence of <space>,<tab>,<newline>.
> 
> It's interesting that the low level interface only
> considers the above 3 chars. I guess that's so
> that _programs_ can use isblank() and getline() to
> parse the output robustly.
> However it might be better for df to escape all
> control characters (\r,\f,...) so that _humans_
> can parse too.

That attached patch takes the simplest approach
and just replaces '\n' with '?'.
Reasons are detailed in the commit message.

I was considering doing something a bit more general,
along the lines of unicode_displayable() in fslint:
http://code.google.com/p/fslint/source/browse/tags/2.42/fslint-gui#92
While that could be generally useful within coreutils,
I've gone with the simpler approach for now.

cheers,
Pádraig.
[df-newlines.diff (text/plain, attachment)]

This bug report was last modified 13 years ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.