CONFIG: handle string splitting [zsh] (#2640)
This commit is contained in:
parent
a8b0ec0c4e
commit
d5e82f072e
@ -5,7 +5,7 @@
|
||||
# \\ / A nd | www.openfoam.com
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2018-2020 OpenCFD Ltd.
|
||||
# Copyright (C) 2018-2022 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
@ -212,7 +212,7 @@ then
|
||||
findLibrary()
|
||||
{
|
||||
local prefixDir localDir searchDir searchName
|
||||
local file ext
|
||||
local file found ext zshsplit
|
||||
|
||||
searchDir=true
|
||||
|
||||
@ -264,6 +264,15 @@ then
|
||||
|
||||
## echo "search: $# $@" 1>&2
|
||||
|
||||
# Split extLibraries on space: zsh needs shwordsplit for that
|
||||
if [ -n "$ZSH_VERSION" ]
|
||||
then
|
||||
# $- contains 'y' if shwordsplit already active
|
||||
zshsplit=1
|
||||
case "$-" in (*y*) unset zshsplit;; esac
|
||||
setopt shwordsplit
|
||||
fi
|
||||
|
||||
for searchDir in "$@"
|
||||
do
|
||||
[ -n "$searchDir" ] || continue
|
||||
@ -272,8 +281,8 @@ then
|
||||
file="$prefixDir/$searchDir/$searchName$ext"
|
||||
if [ -f "$file" ] && [ -r "$file" ]
|
||||
then
|
||||
echo "$file" # Found
|
||||
return 0
|
||||
found="$file" # Found
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
@ -281,6 +290,15 @@ then
|
||||
else
|
||||
# Directed search
|
||||
|
||||
# Split extLibraries on space: zsh needs shwordsplit for that
|
||||
if [ -n "$ZSH_VERSION" ]
|
||||
then
|
||||
# $- contains 'y' if shwordsplit already active
|
||||
zshsplit=1
|
||||
case "$-" in (*y*) unset zshsplit;; esac
|
||||
setopt shwordsplit
|
||||
fi
|
||||
|
||||
for file
|
||||
do
|
||||
[ -n "$file" ] || continue
|
||||
@ -288,13 +306,25 @@ then
|
||||
do
|
||||
if [ -f "$file$ext" ] && [ -r "$file$ext" ]
|
||||
then
|
||||
echo "$file$ext" # Found
|
||||
return 0
|
||||
found="$file$ext" # Found
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# Restore old shwordsplit (zsh)
|
||||
if [ -n "$zshsplit" ]
|
||||
then
|
||||
unsetopt shwordsplit
|
||||
fi
|
||||
|
||||
if [ -n "$found" ]
|
||||
then
|
||||
echo "$found"
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 2
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user