--- uruk/script/uruk.in | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/uruk/script/uruk.in b/uruk/script/uruk.in index 077d5ee3c8bf14c798b84c3aba4f8c97847950fe..79c535bbb59fe4556b12bb46504706d4a4551376 100644 --- a/uruk/script/uruk.in +++ b/uruk/script/uruk.in @@ -106,7 +106,22 @@ uruk_save () { esac if test -f $uruk_save_dir/$table then - echo "$*" >>$uruk_save_dir/$table + space= + for arg + do + case $arg in -[a-zA-Z0-9]) + echo -n "$space-" + echo -n "${arg#-}" + ;; *[!a-zA-Z0-9_!+,./:=@-]*) + echo -n "$space\"" + echo -n "$arg" | sed 's/[\\\"'\'']/\\&/g' + echo -n \" + ;; *) + echo -n "$space$arg" + esac + space=' ' + done >>$uruk_save_dir/$table + echo >>$uruk_save_dir/$table else echo "Unknown table '$table'; skipping rule '" -t $table $* "'" >&2 fi -- 1.9.1