diff options
author | Jim Meyering <jim@meyering.net> | 2000-01-17 08:01:40 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2000-01-17 08:01:40 +0000 |
commit | 4d034357da1d9566e9a0246ab11adbf4fb670d0c (patch) | |
tree | 2670072aa0fd0a30bd1b1fec69d9e59fabcc5fd7 /lib | |
parent | ea51a6cbaa84b98405837dbcf28e66b986bdff51 (diff) | |
download | coreutils-4d034357da1d9566e9a0246ab11adbf4fb670d0c.tar.xz |
(quotearg_buffer_restyled): Do not quote
alert, backslash, formfeed, and vertical tab unnecessarily in
shell quoting style.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/quotearg.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/quotearg.c b/lib/quotearg.c index 9eb05161c..bdbb82080 100644 --- a/lib/quotearg.c +++ b/lib/quotearg.c @@ -262,20 +262,21 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize, #endif case '\b': esc = 'b'; goto c_escape; case '\f': esc = 'f'; goto c_escape; - case '\n': esc = 'n'; goto c_escape; - case '\r': esc = 'r'; goto c_escape; - case '\t': esc = 't'; goto c_escape; + case '\n': esc = 'n'; goto c_and_shell_escape; + case '\r': esc = 'r'; goto c_and_shell_escape; + case '\t': esc = 't'; goto c_and_shell_escape; case '\v': esc = 'v'; goto c_escape; - case '\\': esc = c; goto c_escape; + case '\\': esc = c; goto c_and_shell_escape; + c_and_shell_escape: + if (quoting_style == shell_quoting_style) + goto use_shell_always_quoting_style; c_escape: if (backslash_escapes) { c = esc; goto store_escape; } - if (quoting_style == shell_quoting_style) - goto use_shell_always_quoting_style; break; case '#': case '~': |