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 <redacted>
---
guilt | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/guilt b/guilt
index ca922aa..36cfd1e 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