[arch-projects] [devtools] [PATCH 8/8] lib/common.sh: Make it safe to include multiple times.

lukeshu at lukeshu.com lukeshu at lukeshu.com
Sun Apr 2 08:10:02 UTC 2017


From: Luke Shumaker <lukeshu at parabola.nu>

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.
---
 lib/common.sh | 3 +++
 1 file changed, 3 insertions(+)

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
 
-- 
2.12.1


More information about the arch-projects mailing list