From: Per Cederqvist Date: Sun, 18 May 2014 22:00:00 GMT Subject: [GUILT v4 24/33] disp no longer processes backslashes. Message-ID: <1400450409-30998-25-git-send-email-cederp@opera.com> In-Reply-To: <1400450409-30998-1-git-send-email-cederp@opera.com> Only one invocation of "disp" or "_disp" actually needed backslash processing. In quite a few instances, it was wrong to do backslash processing, as the message contained data derived from the user. Created the new function "disp_e" that should be used when backslash processing is required, and changed "disp" and "_disp" to use printf code "%s" instead of "%b". Signed-off-by: Per Cederqvist Signed-off-by: Josef 'Jeff' Sipek --- guilt | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/guilt b/guilt index 9567a78..0500500 100755 --- a/guilt +++ b/guilt @@ -36,15 +36,24 @@ usage() exit 1 } -# echo -n is a bashism, use printf instead +# Print arguments, but no trailing newline. +# (echo -n is a bashism, use printf instead) _disp() { - printf "%b" "$*" + printf "%s" "$*" } -# echo -e is a bashism, use printf instead +# Print arguments. +# (echo -E is a bashism, use printf instead) disp() { + printf "%s\n" "$*" +} + +# Print arguments, processing backslash sequences. +# (echo -e is a bashism, use printf instead) +disp_e() +{ printf "%b\n" "$*" } @@ -117,7 +126,7 @@ else disp "" disp "Example:" - disp "\tguilt push" + disp_e "\tguilt push" # now, let's exit exit 1 -- 1.8.3.1