diff options
author | Pádraig Brady <P@draigBrady.com> | 2012-07-13 02:27:26 +0100 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2012-07-16 02:48:31 +0100 |
commit | 3ed70fd559c3fbed8383b50373e6d23d1857dc52 (patch) | |
tree | 89b15d9f2f62a6263993183648624b5b57a922f6 /NEWS | |
parent | ac00d23e1a90dc5a8cd0f6de0e61eb401d5089d5 (diff) | |
download | coreutils-3ed70fd559c3fbed8383b50373e6d23d1857dc52.tar.xz |
df: don't output control characters in a mount point name
It's awkward to read and problematic for scripts when
control characters like '\n' are output.
Note other fields are already handled with mbsalign,
which converts non printable chars to the replacement char.
A caveat to note with that, is the replacement char takes
a place in the field and so possibly truncates the field
if it was the widest field in the records.
Note a more general replacement function, that
handles all printable, or non white space characters,
would require more sophisticated support for various
encodings, and the complexity vs benefit was not
deemed beneficial enough at present.
Perhaps in future a more general replacement function
could be shared between the various utilities.
Note <space> is unaffected in any field,
which could impact scripts processing the output.
However any of the number fields at least could have
spaces considering `LANG=fr_FR df -B\'1`, so it's
probably best to leave spaces, which also allows
scripts to handle mount points with spaces without change.
* src/df.c (hide_problematic_chars): Replace control chars with '?'.
* tests/df/problematic-chars: Add a new root only test.
* tests/Makefile.am: Reference the new test.
* NEWS: Mention the fix.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -13,6 +13,11 @@ GNU coreutils NEWS -*- outline -*- date: invalid date '\260' [This bug was present in "the beginning".] + df no longer outputs control characters present in the mount point name. + Such characters are replaced with '?', so for example, scripts consuming + lines output by df, can work reliably. + [This bug was present in "the beginning".] + head --lines=-N (-n-N) now resets the read pointer of a seekable input file. This means that "head -n-3" no longer consumes all of its input, and lines not output by head may be processed by other programs. For example, this |