[devtools,8/8] lib/common.sh: Make it safe to include multiple times.

Message ID 20170402081002.28176-9-lukeshu@lukeshu.com
State Accepted
Headers show
Series [devtools,1/8] Avoid using string interpolation; use printf format strings instead. | expand

Commit Message

Luke Shumaker April 2, 2017, 8:10 a.m. UTC
From: Luke Shumaker <lukeshu@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(+)

Patch

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