summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@parabola.nu>2017-02-15 14:29:19 -0500
committerLuke Shumaker <lukeshu@parabola.nu>2017-04-05 14:09:14 -0400
commiteff2e50803c35a1cbbce572036c271df8c352d87 (patch)
tree353b99a03dc588b1d0a457d1b3c69b38a5af03ee
parent55d5e061cb3d955faaf6ed291eb7294b84706a83 (diff)
downloaddevtools-lukeshu/to-upstream/cleanup-20170402-rebase.tar.xz
lib/common.sh: Make it safe to include multiple times.lukeshu/to-upstream/cleanup-20170402-rebase
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.sh3
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