Subject: bug#11922: df doesn't handle \n in mount entries appropriately

From: Pádraig Brady <[email-masked]>
Date: Thu, 12 Jul 2012 17:11:39 +0100

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.

cheers,
Pádraig.