From 5c393560dfa495dec8f0a82b18658c2755a1f857 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 20 May 2021 14:54:03 +0200 Subject: [PATCH] modulecmd: re-using overlay check improved/simplified --- Pmodules/modulecmd.bash.in | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/Pmodules/modulecmd.bash.in b/Pmodules/modulecmd.bash.in index 3898101..2d79e3f 100644 --- a/Pmodules/modulecmd.bash.in +++ b/Pmodules/modulecmd.bash.in @@ -1526,17 +1526,16 @@ subcommand_use() { use_overlay "${dir}" return fi - local overlay - for overlay in "${OverlayList[@]}"; do - if [[ ${dir}/ =~ ^${overlay}/ ]]; then - # dir is in one of our used overlays - std::die 3 "%s %s: %s -- %s" \ - "${CMD}" "${subcommand}" \ - "illegal argument" \ - "${arg}" - return - fi - done + # Is ${dir} a used overlay? + # Note: the config.file 'overlay.conf is *not* required + # in an overlay!' + if [[ -v OverlayDict[${dir}] ]]; then + std::die 3 "%s %s: %s -- %s" \ + "${CMD}" "${subcommand}" \ + "illegal argument: is already loaded as overlay" \ + "${dir}" + fi + # argument is a modulepath ${add2path_func} MODULEPATH "${dir}" }