diff -up mgetty-1.1.36/fax/faxrunq.in.time_range mgetty-1.1.36/fax/faxrunq.in --- mgetty-1.1.36/fax/faxrunq.in.time_range 2008-10-09 22:57:34.000000000 +0200 +++ mgetty-1.1.36/fax/faxrunq.in 2008-10-09 22:57:34.000000000 +0200 @@ -174,17 +174,18 @@ do # read job using 'tr', remove all quote characters, dollar, and backslash # eval `tr -d '\042\047\140\134\044\073' &2; exit 2 fi TIME="$h$m" + elif expr "$2" : "[0-2][0-9]:[0-9][0-9]-[0-2][0-9]:[0-9][0-9]$" >/dev/null + then + h=`expr "$2" : "\(..\)"` + m=`expr "$2" : "..:\(..\)"` + h2=`expr "$2" : "..:..-\(..\)"` + m2=`expr "$2" : "..:..-..:\(..\)"` + if [ "$h" -gt 23 -o "$m" -gt 60 ] + then + $echo "Invalid time specified: $h:$m" >&2; exit 2 + elif [ "$h2" -gt 23 -o "$m2" -gt 60 ] + then + $echo "Invalid time specified: $h2:$m2" >&2; exit 2 + fi + TIME="$h$m-$h2$m2" else - $echo "Time must be in format." >&2; exit 2 + $echo "Time must be in or format." >&2; exit 2 fi shift ; shift ;;