diff options
author | Luke Shumaker <lukeshu@parabola.nu> | 2017-04-02 04:10:02 -0400 |
---|---|---|
committer | Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> | 2017-04-05 22:14:20 +0200 |
commit | c1a056c9a8f42e1a8e1f66b265b7ccbd1a2cb1ee (patch) | |
tree | 353b99a03dc588b1d0a457d1b3c69b38a5af03ee | |
parent | 747e8ffc8d02bc8726d6f336ebbe7ecf05e9fd38 (diff) | |
download | devtools-c1a056c9a8f42e1a8e1f66b265b7ccbd1a2cb1ee.tar.xz |
lib/common.sh: Make it safe to include multiple times.
This is similar to common C #ifdef guards.
I was tempted to wrap the entire thing in the if/fi, rather than use
'return' to bail early. However, that means it won't execute anything
until after it reaches 'fi'. And if `shopt -s extglob` isn't executed
before parsing, then it will syntax-error on the extended globs. One
solution would have been to move `shopt -s extglob` up above the
include-guard. But the committed solution is all-around simpler.
-rw-r--r-- | lib/common.sh | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/common.sh b/lib/common.sh index 4536668..c9afc36 100644 --- a/lib/common.sh +++ b/lib/common.sh @@ -3,6 +3,9 @@ # License: Unspecified +[[ -z ${_INCLUDE_COMMON_SH:-} ]] || return 0 +_INCLUDE_COMMON_SH=true + # Avoid any encoding problems export LANG=C |