diff options
Diffstat (limited to 'src/ls.c')
-rw-r--r-- | src/ls.c | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -449,8 +449,15 @@ struct ignore_pattern static struct ignore_pattern *ignore_patterns; -/* Nonzero means output nongraphic chars in file names as `?'. -q */ - +/* Nonzero means output nongraphic chars in file names as `?'. + (-q, --hide-control-chars) + qmark_funny_chars and the quoting style (-Q, --quoting-style=WORD) are + independent. The algorithm is: first, obey the quoting style to get a + string representing the file name; then, if qmark_funny_chars is set, + replace all nonprintable chars in that string with `?'. It's necessary + to replace nonprintable chars even in quoted strings, because we don't + want to mess up the terminal if control chars get sent to it, and some + quoting methods pass through control chars as-is. */ static int qmark_funny_chars; /* Quoting options for file and dir name output. */ @@ -820,6 +827,7 @@ decode_switches (int argc, char **argv) if (isatty (1)) { format = many_per_line; + /* See description of qmark_funny_chars, above. */ qmark_funny_chars = 1; } else |