summaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorPhil Pennock <pdp@exim.org>2018-04-08 23:46:26 -0400
committerPhil Pennock <pdp@exim.org>2018-04-08 23:46:26 -0400
commite5c155710bc95053e6e4b3845b79eb8fc281f769 (patch)
treedb7d06cc83b4568d5d163a579914a0b653957c89 /src/util
parent7a128512684cd0ece3d4dde369ebc5b7af360f06 (diff)
downloadexim4-e5c155710bc95053e6e4b3845b79eb8fc281f769.tar.gz
Better(?!?) fallback for stat: Perl
We use Perl extensively in other scripts. *sigh*
Diffstat (limited to 'src/util')
-rwxr-xr-xsrc/util/renew-opendmarc-tlds.sh9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/util/renew-opendmarc-tlds.sh b/src/util/renew-opendmarc-tlds.sh
index 2ce937699..9967018e2 100755
--- a/src/util/renew-opendmarc-tlds.sh
+++ b/src/util/renew-opendmarc-tlds.sh
@@ -24,7 +24,8 @@
# This should be "pretty portable"; the only things it depends upon are:
# * a POSIX shell which additionally implements 'local' (dash works)
# * the 'curl' command; change the fetch_candidate() function to replace that
-# * the 'stat' command, to get the size of a file; change size_of() if need be
+# * the 'stat' command, to get the size of a file; else Perl
+# + change size_of() if need be; it's defined per-OS
# * the 'hexdump' command and /dev/urandom existing
# + used when invoked with 'cron', to avoid retrieving on a minute boundary
# and contending with many other automated systems.
@@ -84,8 +85,10 @@ case $(uname -s) in
Linux)
size_of() { stat -c %s "$1"; }
;;
-*) # optimism?
- size_of() { stat -c %s "$1"; }
+*)
+ # why do we live in a world where Perl is the safe portable solution
+ # to getting the size of a file?
+ size_of() { perl -le 'print((stat($ARGV[0]))[7])' -- "$1"; }
;;
esac