commit 843c551810f868d72eda011c286229635fbee4a9
parent cce75bc0ece27c39c86589af49804e29e9a788b5
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Wed, 28 Jan 2015 15:41:50 +0100
sfeed_update: pass file for curl time condition (last modified)
this fixes an issue with differences in stat(1) versions (OpenBSD, GNU, sbase).
Diffstat:
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/sfeed_update b/sfeed_update
@@ -42,9 +42,9 @@ merge() {
}
# fetch a feed via HTTP/HTTPS etc.
-# fetchfeed(url, name, lastupdated)
+# fetchfeed(url, name)
fetchfeed() {
- if curl -f -s -S -L --max-time 15 -z "$3" "$1"; then
+ if curl -f -s -S -L --max-time 15 -z "$sfeedfile" "$1"; then
printf " OK %s %s\n" "`date +'%H:%M:%S'`" "$2" >&2
else
printf "FAIL %s %s\n" "`date +'%H:%M:%S'`" "$2" >&2
@@ -70,11 +70,10 @@ feed() {
tmpencfile=""
encoding="$4"
if [ ! "$encoding" = "" ]; then
- fetchfeed "$2" "$1" "$lastupdated" | \
- convertencoding "$encoding" "utf-8"
+ fetchfeed "$2" "$1" | convertencoding "$encoding" "utf-8"
else # detect encoding.
tmpencfile=$(mktemp -p "$TMPDIR")
- fetchfeed "$2" "$1" "$lastupdated" > "$tmpencfile"
+ fetchfeed "$2" "$1" > "$tmpencfile"
detectenc=$(sfeed_xmlenc < "$tmpencfile")
convertencoding "$detectenc" "utf-8" < "$tmpencfile"
rm -f "$tmpencfile"
@@ -99,10 +98,6 @@ feeds() {
loadconfig "$1"
# fetch feeds and store in temporary file.
TMPDIR=$(mktemp -d "/tmp/sfeed_XXXXXX")
-# get date of last modified feedfile in format:
-# YYYYmmdd HH:MM:SS [+-][0-9]*
-lastupdated=$(stat -c "%y" "$sfeedfile" 2> /dev/null | \
- cut -c 1-4,6-7,9-10,11-19,30-)
# kill whole current process group on ^C.
isrunning="1"
# SIGTERM: signal to terminate parent.