-case ${dir+t},${n+t} in
- t,t | ,)
- n=$(printf "%02d" "$n")
- ;;
- *)
- echo >&2 "$prog: must specify both directory and disc number, or neither"
- exit 2
- ;;
-esac
-
-hack_label () {
- tr "[:lower:]" "[:upper:]" |
- tr -Cs "[:alnum:]_\n" "[-*]" |
- sed 's/^-//; s/-$//'
-}
-
-case $backup in
- t)
- case ${label+t},${dir+t} in
- t,*) ;;
- ,) label=$(printf "%s" "$title" | hack_label) ;;
- ,t) label=$(printf "%s_%s" "$dir" "$n" | hack_label) ;;
- esac
- len=$(printf "%s" "$label" | wc -c)
- if [ $len -gt 32 ]; then echo >&2 "$prog: label too long"; exit 2; fi
- ;;
- nil)
- case ${label+t} in
- t) echo >&2 "$prog: label only meaningful to \`dvdbackup'"; exit 2 ;;
- esac
- ;;
-esac
-
-case ${dir+t} in
- t) tag="${dir}_${n}_${title}" out="$dir/$n. $title" ;;
- *) tag=$title out=$title ;;
-esac
-tag=${tag//\//_}