Commit 81200cf6 authored by Colomban Wendling's avatar Colomban Wendling

Properly escape placeholders in markup

parent fae4c018
......@@ -45,6 +45,13 @@ progress() {
$([ "$count" = 1 ] && echo --pulsate)
}
escape() {
sed -e 's/&/\&/g' \
-e 's/</\&lt;/g' \
-e 's/>/\&gt;/g' \
<<<"$*"
}
format() {
echo "<b>$1</b>\n\n$2"
}
......@@ -64,8 +71,8 @@ process_file() {
if [ -e "$dest" ]; then
if zenity --question \
--title="Écraser – $TITLE" \
--text="$(format "Voulez-vous écraser le fichier « <i>${dest##*/}</i> » ?" \
"Le fichier « <i>${dest##*/}</i> » existe déjà, voulez-vous le remplacer ?")" \
--text="$(format "Voulez-vous écraser le fichier « <i>$(escape "${dest##*/}")</i> » ?" \
"Le fichier « <i>$(escape "${dest##*/}")</i> » existe déjà, voulez-vous le remplacer ?")" \
--ok-label="Écraser"
then
replace_option=-y
......@@ -77,7 +84,7 @@ process_file() {
# same file, abort
if [ "$(realpath "$f")" = "$(realpath "$dest")" ]; then
error "Le fichier de destination est le même que le fichier source" \
"Les chemins « <i>$f</i> » et « <i>$dest</i> » identifient le même fichier.
"Les chemins « <i>$(escape "$f")</i> » et « <i>$(escape "$dest")</i> » identifient le même fichier.
Essayez-vous de convertir un fichier qui est déjà au format MP3 ?"
return 1
fi
......@@ -91,7 +98,7 @@ for f in "$@"; do
echo "# Conversion de « ${f##*/} » ($((n+1)) de $count)…"
process_file "$f" || {
error "Échec de la conversion" \
"La conversion du fichier « <i>${f##*/}</i> » a échouée"
"La conversion du fichier « <i>$(escape "${f##*/}")</i> » a échouée"
break
}
((n++))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment