fi;;
esac; done
-[ "$*" ] || set -- "*"
+[ "$*" ] || set -- "."
[ "$depth" -ge 0 -o "$depth" -le 0 ] 2>&- || depth=0
read DY DM DD <<-EOF
local junk1 start end rrfreq rrint rrend evtitle evlink junk2
while read -r junk1 start end rrfreq rrint rrend evtitle evlink junk2; do
+ [ ! "$start" ] && continue # empty line
[ "$rrend" -eq -1 ] && rrend=9999999999
if [ "$start" -lt "$dend" ] &&
dcnt=$((iday - idow * 86400 + ws * 86400))
dow=$ws
dcal="$(date -ud @"$dcnt" +%d)"
-
events="$(
printf %s\\n "$events" \
| rrexpand "$dcnt" "$((dcnt + 42 * 86400))" \
end_time="23:59"
fi
+shh=${start_time%:*} shh="${shh#0}"
+smm=${start_time#*:} smm="${smm#0}"
+ehh=${end_time%:*} ehh="${ehh#0}"
+emm=${end_time#*:} emm="${emm#0}"
+
if [ ! "$end_date" -a "$end_time" -a "$start_time" ]; then
- if [ "$((${end_time%:*} * 60 + ${end_time#*:}))" -gt "$((${start_time%:*} * 60 + ${start_time#*:}))" ]; then
+ if [ "$((ehh * 60 + emm))" -gt "$((shh * 60 + smm))" ]; then
end_date="$start_date"
else
end_date="$(date -ud "@$(($(date -ud "$start_date" +%s) + 86400))" +%F)"