diff --git a/burrow b/burrow index 4c1432d..8cc1d1a 100755 --- a/burrow +++ b/burrow @@ -80,13 +80,22 @@ END check_coreutils () { if stat -c"%U" /dev/null >/dev/null 2>/dev/null ; then + # GNU environment stat_func () { stat -c %Y "$1" } + date_func () { + date -d "$1" +"%a, %d %b %Y %T %z" + } else + # BSD environment stat_func () { stat -Lnqr "$1" | awk '{print $10}' } + date_func () { + # $1 will be in YYYYMMDD format + printf "%s" "$1" | awk 'BEGIN {n = split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec",month)} { y=substr($0, 0, 4); m=substr($0,5,2); gsub ("^0*", "", m); d=substr($0,7,2); print d, month[m], y, "00:00:00 +0000"}' + } fi } @@ -446,7 +455,7 @@ make_rss () { printf "\\n" printf " %s\\n" "$title" printf " gopher://%s/0%s%s/%s\\n" "$config_gopher_server" "$config_gopher_root" "$config_dir_phlog" "$filename" - printf " %s\\n" "$(date -d "$date" +"%a, %d %b %Y %T %z" )" + printf " %s\\n" "$(date_func "$date")" printf " \\n" if printf "%s" "$filename" | grep -q "gophermap$" then